I’ve just upgraded my Fedora 16 to 17 using the lovely preupgrade tool.
I’ve never had major problems with this before, but there a few complications thrown in this time that I thought worth documenting.
I’m running a fully encrypted system (LUKS) on a Dell M4600 laptop. This has worked really well with a single extra password prompt on bootup, but when it came to using preupgrade, there were a few issues to cleanup before I could upgrade smoothly, silkily and successfully.
After running preupgrade the system wouldn’t reboot automatically
This was solved by adding reboot=pci as a kernel boot option in /etc/default/grub to the ‘GRUB_CMDLINE_LINUX=’ line (this is where grub2 stores its default options).
# grub2-mkconfig -o /boot/grub2/grub.cfg
After rebooting into upgrade, no upgradeable install found
This turned out to most likely be a firmware issue in the Dell’s SATA controller. It turned out my partitions were slightly corrupted resulting in preupgrade bailing with a ‘GPT corrupt’ error. Not enough to cause any issues with day to day running, but enough to be a problem when using preupgrade. I switched the SATA options in bios from ‘Raid On’ to ‘AHCI’. This prevents the corruption from reoccurring, and fortunately was safe for me to do with my setup. I then followed the detailed instructions in this FedoraForum post to restore my partitions. The first post details the repair and the tools needed (gdisk, parted).
After reaching the upgrade steps, ‘Unknown release on <drive label>… Product mismatch. Version mismatch’
This was solved by re-installing the fedora-release package on the F16 install.
$ sudo yum reinstall fedora-release
However as is always the case, each time I read around whilst trying to solve issues on Linux, I find a drastically better way of doing things. This time round I discovered rpmconf.. a tool for helping you track down and merge all those .rpmnew .rpmsave config files after package updates.
Giving it the following command line options you can find all the files needing attention, and pipe them into merge tools like meld or vimdiff. Much better than my previously cobbled together scripts!
$ sudo yum install rpmconf $ sudo rpmconf -a -fmeld
So all in all a bit of a mission, but what can I say I’m addicted to free upgrades!