Fedora Core 4's buggy Anaconda

July 5, 2005

I am quite irritated right now, because Fedora Core 4 has the most significantly buggy Anaconda installer that it has ever been my displeasure to have to try to make work. These are bugs that are both serious and obvious, one of them even introduced because of last-minute change. (Have people learned nothing from history? Hasty last-minute changes always have bugs; that's why you don't make them.)

  • You cannot repartition drives, because Ananconda holds open a reference to an old partition, the kernel refuses to accept the new partitioning while there is such a reference, and Anaconda dies. (Bugzilla #160693.)

The 'workaround' is to exit out of the error alert, reboot again and this time don't repartition (this time around the partition table is right). Of course this works oh so well for automated installs, where you don't exactly want to visit each machine to reboot it out of the error. Our ugly hack is:

%pre
mf=/proc/ide/hda/media
if [ -f $mf -a `cat $mf` == "disk" ]; then
  dd if=/dev/zero of=/dev/hda bs=512 count=1
fi

(Of course, if another error happens later we're screwed; we've blown away the MBR, so we're not rebooting this machine without an external boot media.)

  • Anaconda writes totally bogus entries for swap in /etc/fstab, with LABEL= values that have random non-ASCII characters in them. This is so broken that the fstab-parsing library code throws up its hands on the spot, rendering any filesystem listed later in the file totally unmountable and invisible. (Bugzilla #159087.)

We have all our data on NFS-mounted filesystems. Enough said. (One can at least fix this in %post-production.)

  • One cannot just say '-<package>' in the %packages section (which is normally used if you want a class of packages, minus some specific packages). If you do, Anaconda dies with an internal error. (Bugzilla #160209.)

There are workaround, such as performing a rain dance to make Anaconda use a lightly patched version of one Python sourcefile.

Ironically the '-<package>' bug was apparently introduced by a last-minute code change with the goal of supporting '-<package>.<architecture>'. In the process they cleverly broke (and never tested) the more common variant.

So far, Red Hat doesn't seem to be showing any real signs of issuing a formal update. I have no idea why, especially given that the first problem affects even manual, non-Kickstart installs.

Written on 05 July 2005.
« The big trick of running lots of systems
Mozilla versus SeaMonkey »

Page tools: View Source, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Tue Jul 5 23:59:43 2005
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.