The new Anaconda installer

It’s no secret that the new Anaconda installer for Fedora 18 has caused a stir. As part of a major internal re-write, the user interface has been completely re-designed which has caused some confusion and there are bugs and missing features. This is why we included an install video in Korora 18, to help walk you through the process.

However, like all good free and open source software, while this might be the case now it will just keep getting better (especially if users report their problems and post ideas on Bugzilla). Fedora 18 was so delayed that the community didn’t have a chance to address all issues in the interface, unfortunately. Some of the badness has already been fixed for the next release however, with more improvements to come.

So, yes, it might be hard to use for this release but it’s getting better. And thankfully it’s just the installer and not the rest of the interface, so it’s a one-off pain, not an every day one. If it’s really a drama, one could install version 17 and use FedUp to upgrade without using the new installer.

Finally, Anaconda developer Will Woods an excellent blog post on the re-write, which really opens your eyes to the need for it (it’s much, much more than just the user interface).

Here’s some of the content:

Why rewrite, anyway?
Back in August 2009 we were trying to redesign the storage UI to handle modern storage needs. This turned out to require rewriting a lot of the storage back-end code (again) because the existing anaconda code was basically all duct tape and bubble gum, creaking under the strain of modern demands.

You might think I’m exaggerating, but keep in mind that anaconda was originally written in 1999, for Red Hat Linux 6.1, It was designed to run off a 1.44MB floppy, using the still-newish Linux 2.2.x kernel.

In 2009 it still had its own custom initrd init system – called “loader” – written entirely in C. (Statically-linked, too, until 2007.) So anaconda had its own copy of stuff like mount(), and losetup, and mknod.. but no bash before the GUI started. (Good luck trying to debug anything!)

The design pre-dated udev and /sys – and devfs, HAL, and NetworkManager, and dbus – and had its own builtin module loading stuff instead of depmod and modprobe. So anaconda was doing all the hardware setup (probing, module loading and unloading, network setup, disk setup, RAID setup, etc., etc.) by itself… and not always doing it well. And every time there was a new device driver for anything we had to manually add support for it to the installer.

And specifically on the user interface:

And then there’s the GUI. It was single-threaded, so (for example) while we waited for lvm or yum to do something the UI would just.. stop drawing. If you dragged a window around you just ended up with big empty gray blotches until lvm finished and let us start refreshing the UI again.

It was also designed for much smaller screens – 640×480, or 800×600 if you were lucky. You can’t fit much on a screen that size (smaller than your average smartphone!), so it made sense to break the process into a series of steps. Except by 2009 you ended up with screens that looked like this [when setting the root password]:

root password
Great use of space there!

The logic for moving between steps had also gotten really hairy and fragile. Like, as soon as you finished partitioning the disk (but before you picked software to install!) we formatted the disks, because we used to need swap space to even think about running yum. But then what happens if it turns out you need more hard drive space to install the stuff you want? TOO BAD, YOU CAN’T GO BACK NOW!

So on behalf of Korora Project please forgive us for causing you frustration, but we’re here to help and believe us when we say it is already improving!

13 Responses to “The new Anaconda installer”


  • I like the new installer. There seems to be some need to make the partitioning options and how to select what a bit more easily understood. Also, I can say it would be nice to be able to force the installer to overwrite the current installation using the existing setup regardless of whether there is free space or not. I can tell you that it is a far cry better than what was out there in 1991 when I began my adventures with Linux.

  • As a new Fedora 18 user I thought the installer was very good. As a Debian user of 10 years I usually do an ‘Expert’ install using the ncurses interface. Fedora’s partioning tool, used during installation, is certainly better than Debian’s ‘partman’ utility, particularly when doing LVM installs.

    Best Regards,
    Pat.

  • So why exactly was my response removed?

  • Wow,

    This is weird. I came back and now both of my comments are displayed. When I posted comment #2, comment #1 was not displayed and the responses counter was showing 0 responses. Sorry for any confusion. Please ignore my second comment. Yeah…

  • They had to be approved :-)

  • Thanks Pat, good to know!

  • Hey Steven,
    Good point, and the partitioning section is some of the changes that I linked to in the post, so it’s getting better!

  • Interesting that the screen for setting the root password was used as an example for wasted screen space. The new installer has just about the same screen for setting the root password. Same wasted screen space.

  • I tried 6 times to install (the Gnome edition of) Korora on my machine last night, but the installer bar got part-way along, claimed 100% had been installed, and then hanged. Assuming that this might have to do with the known issue to do with reading swap from my disk, I went so far as to delete my swap partition, but still no luck. I’ve been trying to think of workaround, but I’m struggling. It’s a shame because I really liked the look of the Live version. I was installing from a USB stick if that makes any difference.

  • Sorry to hear about the problems :-( With USB drives, I’ve never had much luck other than to dd to the full drive (not a partition) e.g. sdx not sdx1. Like so:

    dd if=korora.iso of=/dev/sdx bs=4M && sync

    Can you give that a try if you didn’t do it that way last time?

    Also, at the boot menu of the live disk there is an advanced menu which lets you do a “verify and boot”, can you try this too after you do a new dd?

    Let me know how you go!

  • Would it not be simpler to burn it to a DVD disc? I used Unetbootin. But if the USB is the problem, I might as well go with the disk. It’s a desktop PC rather than, say, a netbook, so I do have the option.

  • dd-ed and the rest. Exactly the same result as before. The blue bar moves along around 25%, and the message says Installing Software 100%, and it hangs there. I’ll give it one last go with a disc later.

  • Did you run verify and boot? Was that successful? Certainly seems like a bad burn to usb, but can’t say for sure without verify test.

    -c

Leave a Reply