Upgrading to Fedora 7: have your partitions labeled

June 3rd, 2007 | Tagged as ,

Although “doing a clean installation and then restoring user data from backups is known to work better”, Fedora recommends to use CD/DVD installer to upgrade your Fedora Core installation to a higher version. I usually perform a clean install when updating Linux at home, this time however, I decided to let Anaconda (the Fedora installer) to do the job. I was very pleased with the overall result with one exception: the installer forced me to manually modify my /etc/fstab, refusing to continue otherwise.

Due to a change in the way that the Linux kernel handles storage devices, the device names like /dev/hdX or /dev/sdX may differ from the values used in earlier releases. In Fedora 7, for instance the first partition on my first disk (ATA) is now

/dev/sda1

instead of

/dev/hda1

and for instance the first partition on my second disk (SATA) is now named

/dev/sdb1

instead of

/dev/sda1

I wasn’t aware of this change before upgrading to Fedora 7. And because I had previously modified my /etc/fstab manually using the device names linked to the mount points instead of using labels, Fedora 7 installer now refused to upgrade.

The solution was to boot back to the original installation and to run “e2label” to create a label for each partition on your disk. It is pretty simple:

[ikendra@tank][~] sudo /sbin/e2label /dev/hda6 HOME

After that, modify your /etc/fstab to use the labels instead of device names. Example: modify the fstab line which used to be for instance

/dev/hda6 /home ext3 defaults 1 2

to

LABEL=HOME /home ext3 defaults 1 2

I recommend a single reboot to the original Fedora installation to check if all partitions were mounted as expected. After that, run the installer again, it will work.

1 Comment

andyofne
July 7th, 2007 at 05:06

Thanks for the tip, I ran into the same error last night trying to upgrade to Fedora Core 7. Appreciate your suggestions.

Your comment

You can post anonymous comments. Some tags are allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>