Fedora's Anaconda installer: A hands-on screenshot walkthrough

With Fedora 21 due for release, it's time to start installing. Here I walk through the Anaconda installer screen-by-screen.
Written by J.A. Watson, Contributor

The official release of Fedora 21 is due today, so it's time to download the ISO images and install it. In my opinion Anaconda, the Fedora installer, is the best there is. So let's walk through it, screen by screen, and see what it does.

The first Anaconda screen lets you select the language and dialect that will be used during the installation, and also for the installed system. If you have an active network connection, Anaconda will attempt to determine your geographic location and then make an educated guess at the appropriate language based on that. In my case it defaults to Swiss German - but I have often been tempted to drive 20 miles south, or west, before starting just to see if it will then default to French. If you do not have a network connection it will default to English (United States).

Fedora 21 Anaconda - Language Selection

I have also been tempted to choose Australian or Canadian, and then try to see what the differences are but haven't had time for that yet.

The next screen is most likely to be the Anaconda 'Hub', what I consider to be the 'central dispatcher'. I say 'most likely' because Adam Williamson from the Fedora project has mentioned to me in the past that there are some (uncommon) circumstances where Anaconda might need to do something else before going to the hub, but in all the times and on all the different systems I have installed Fedora, I have never run into such a situation.

The Anaconda Hub Screen

This shows me that there are four tasks to be completed, one of which is mandatory before installation can begin and has not been completed yet. Note the yellow warning across the bottom of the screen, and the fact that the 'Begin Installation' button is not active.

For this example installation, I have a wireless connection, as can be seen from the comment under the Network & Hostname item. Based on that connection, Anaconda has determined my location and set the Timezone to Europe/Zürich (good guess). However, because I changed the language in the opening screen from German to English, the Keyboard value here has changed from Swiss (German) to English (US).

If you need to set the timezone, as is generally the case if you don't have an active network connection during installation, click on that item and you get this screen:

Anaconda Timezone Setting

There are two ways to set the timezone here: either click somewhere near the appropriate location on the map, or choose the Region and City from the drop-down lists. Depending on the size and resolution of your display and the size of your country/region/timezone, clicking the map can be challenging - finding Switzerland on a 10-inch netbook display with 1024x600 resolution and a blasted jumpy clickpad pointing device is not my idea of a good time, so there are times when I really appreciate the Region/City selections.

You can also set the time and date in this screen, if necessary, and choose 12- or 24-hour format. Don't ask me why the screen above says '13:56 PM', that's just so wrong...

When you click Done, Anaconda will return to the Hub.

If you don't have an active network connection (or if Anaconda has decided to set your keyboard based on language rather than location) the next step is to click on the Keyboard selection:

Anaconda Keyboard Selection

To add a keyboard layout, click the 'plus' button at the bottom of the window. That brings up the selection window:

Anaconda Keyboard Layout Selection

Choose the language and dialect from the list, and then click Add. Once you have selected a layout, there is a text-input area where you can type to see if the layout is correct.

You can use the up and down buttons to change the priority of the layouts, put your chosen selection at the top of the list if you want it to be the default. If you want/need only the layout you have selected, you can highlight any others listed (such as the default English), and click the 'minus' button to remove it.

Once again click Done when you have the configuration that you want, and Anaconda will return to the Hub screen.

Now we get to the really meaty bit, and the part which I think really sets Anaconda apart from other installers - specifying the disk drive and partition scheme. Click on Installation Destination, and you will get this screen:
Anaconda Disk Drive Selection
In most typical systems, you will only get two disks to choose from here: the hard drive that is in the computer, where you want to install Fedora, and the USB stick that you are installing from. Click on the hard drive to select it, and you will see the check-mark appear (shown above). At that point, if you are making a normal/standard/typical installation and you don't want to monkey around with the disk partitions yourself, just click Done and Anaconda will figure things out for you.

In automatic partitioning, Anaconda will create one small ext4 partition for /boot, and one large LVM partition to hold the rest of the installation (root, home, var, etc.). How much is 'large'? Assuming that you have sufficient free disk space, Anaconda will simply take it all for the LVM partition. If there is not enough free space, it will ask you to help in freeing up space, by deleting, shrinking or taking over existing partitions.

One minor nit here, you don't get to see what Anaconda does at this stage. It simply goes off and figures out the partitioning, sets it all up, and then comes back and says it is ready to continue. I would like to have it show me what it has done, or at least give me the possibility of going back and looking after it is finished. But that's just me, I guess, and a lot of people who are installing Linux don't want to know about the disk partitioning, as long as it works.

If you want to have more control over the partitioning, or you just want to see what it is doing, or like me, you have a complicated/non-standard disk layout, and you want to specify the partitions yourself, you need to click the 'I will configure partitioning' radio button. This is one of the places where Anaconda is even better in this release than previously, because this option is a lot more obvious and easier to select than it had been.

Click Done, and if you are accepting automatic partitioning Anaconda will only bother you for more input if it is not able to figure out a reasonable automatic partitioning scheme.

If you selected 'I will configure partitioning', you will get this screen:

Anaconda Advanced Partitioning

This is the really brilliant part of the installation process. What Anaconda is showing you here is a logical view of the disk partitioning, whereas every other installer that I know about presents a physical view of the partitions. When the configuration for one installation is made up of more than one partition, the logical view makes a lot more sense, in my opinion.

At the top of the screen you can see that the default partitioning scheme is still LVM, and if you click 'Create them automatically', Anaconda will go off and do exactly what it would have done if you had accepted automatic partitioning in the previous screen. Here, however, you get to see the results of that:

Anaconda LVM Partitions

So there you have a large LVM partition containing root, home and swap, a small ext4 partition for /boot, and a new FAT32 partition for EFI boot.

Alternatively, you could change the default partition type to 'Btrfs' before clicking 'Create them now', and Anaconda would create an equivalent partition scheme using Btrfs rather than LVM:

Anaconda Btrfs Partitioning

In this case you have a Btrfs partition for root and home, a separate ext4 partition for /boot (sorry, still no booting from btrfs here), a new FAT32 partition for EFI boot, and a new separate partition for swap.

The other automated option is to choose Standard Partitions and then click 'Create them automatically', which results in this layout:

Anaconda ext4 Partitioning

Here you have separate ext4 partitions for root, home and boot, a FAT32 for EFI boot and a swap partition. Goodness, that's a lot of partitions!

In each of these automated partitioning results I mentioned that Anaconda created a new FAT32 partition for EFI boot. This avoids any possibility of conflict with other installations, but in most cases it is not necessary. Fedora can perfectly well share the default EFI boot partition with Windows and other Linux installations. To do this you simply select the existing EFI partition and then enter its mount point as /boot/efi, as for manual partitioning next.

Finally, if you want absolute control over the partitions, either because you want to merge certain things with existing installations (EFI boot and swap, for example), or because you are just a control freak, you can do everything manually. To create new partitions, click the 'plus' button at the bottom; to take over (or merge) with a partition in an existing installation, click on the title for that installation and then select the partitions you want.

Anaconda Disk Partitioning

In my example here, I already had a Fedora 21 TC distribution installed, so I want to install the final release over it. In the partition list, I locate the 'Fedora Linux 21' item, and click it. The list of partitions included in that installation is shown, as above.

Because this is a UEFI system, a minimum installation will include at least three partitions - the EFI Boot, Root (/), and Swap. To specify that these should be used for the new installation, you simply select them from the list, and then give the new installation details. But it's not as obvious or easy as that makes it sound, because each partition is a little bit different.

First, select /boot/efi (the EFI boot partition), enter /boot/efi in the Mount Point field, and click Update Settings. You will then see this partition show up under the New Fedora Installation heading. Because one EFI boot partition can be shared by numerous installations, it will also still be shown under the original Fedora installation title.

Next, select the / (root) partition in the existing installation. This time you have to enter / under the Mount Point field, and check the Reformat box - this is the state as it is shown above. Then click Update Settings, and you will see the root partition appear under the new title. This time it will disappear from the list under the old installation, because a root partition can not be shared. Thankfully.

I have not yet figured out how to move the Swap partition from the old installation to the new. I guess I am overlooking something, but I have poked around quite a bit with no luck. Maybe I'll get lucky and Adam will come along and tell me in the comments what I am missing.

Once you have the partitioning the way you want it, click Done. Anaconda will analyze the new layout, and if it is unacceptable for some reason (no root, no efi, whatever) it will complain. If it requires reformatting or otherwise destroying an existing partition, it will display this warning and ask for confirmation:


It is important to know that whatever you select and confirm in the disk partitioning sequence, there will be no changes made to your disk drive(s) until you actually start the installation from the Hub screen. So at this point you can click Accept Changes, and return to the Hub screen.

Anaconda Ready to Install

Here you can see that the yellow warning bar is gone from the bottom of the screen, and the Begin Installation button is now active. This is another small improvement in Anaconda. In previous releases it would return to the Hub and still show the warning bar, and while it validated the partitioning you would be sitting there scratching your head and wondering what else still needed to be done, then suddenly the warning would disappear and the button would become active. Now Anaconda doesn't return to this screen until it knows that the partitioning is acceptable, so it is ready to continue as soon as the Hub screen appears. Nice.

Click Begin Installation, and Anaconda will get busy. At this point, if you have chosen to overwrite any existing partitions, they are toast... once clicked, it's too late to go back. But you're still not done, because while Anaconda is performing the installation, you have to enter the root password and user account info.

Anaconda Installing

This is pretty obvious, just click on Root or User configuration. There's one tiny quirk here, if you enter the root password first, when you return to this screen the User Account will no longer be listed as mandatory. I guess that's OK, but in my opinion it has been a long time since creating a new system with only a root account (no ordinary user account) was acceptable.

Anaconda User Account Creation

This is the screen for creating a user account. Two points worth mentioning here: first the possibility of enabling automatic login... see comments above about security; second, the password strength will be checked, and if it is deemed 'too weak', you will be required to click Done twice to confirm that you want to use a weak password.

Anaconda Root Password Entry

Similar to the User Account creation, this screen asks only for the root password. As with the user account, if the password you enter is weak, it will require you to click Done twice to confirm it.

Once you have entered the user account and root password information, you just have to wait for the installation to finish. This takes about 10 to 20 minutes on the systems I have installed so far. When Anaconda is done, you will get this screen:

Anaconda Complete

Click on Quit and you will be returned to the Live desktop. You can continue testing, or check/adjust the EFI and/or swap configuration, or whatever else you may need or want to do. When you are finished, just make a normal reboot and your system should come back up running Fedora.


Editorial standards