Today, I had a spare Fedora 11 machine sitting next to me, so I thought I’d try the upgrade to the newly-released Fedora 12, aka “Constantine.” Fedora support cycles are rather short compared to Ubuntu, so Fedora 11 will likely be de-supported in 6 to 7 months. Normally I’d wait a little longer into the Fedora 12 cycle for others to find the fun upgrade bugs and have them fixed for me, but I didn’t mind having to re-install from scratch on this machine if I needed to.
Following the Fedora documentation, I decided to use the “preupgrade” tool. Everything was going smoothly until the machine restarted to begin installation of the new packages. I got a message that there wasn’t enough space in my /boot partition. Specifically, the message claimed that there was insufficient disk space in /mnt/sysimage/boot. I found this rather odd and troubling, since I had let the Fedora installer determine the /boot partition size when I originally installed Fedora 11.
Turns out that this is a known problem with the preupgrade tool. A kind soul in #fedora on IRC directed me to the list of common Fedora 12 bugs, in particular the preupgrade free space check. I installed the updated preupgrade package as directed, but again got the error. That’s when I followed the next link for additional tips to free up space in /boot. The first was to remove obsolete kernels, which I had already done. The next was to run tune2fs on /boot filesystem to free up reserved blocks, which aren’t needed for /boot. I strongly suggest you visit the links provided for helpful screenshots and commands to follow.
After making these changes, the upgrade worked and am I’m the proud owner of a Fedora 12 Constantine laptop, with a slightly brighter shade of blue desktop than that crusty old Fedora 11. ;)
My laptop is always on wireless and I did not want to go through the trouble of running a wired connection through my home. So, I thought what would happen if “install.img” was not in the /boot/upgrades partition, will the upgrade still work? In my case, I have a /boot partition of 100mb, because I installed Fedora 8 on my laptop and I have upgraded it via DVD through Fedora 11. So, if preupgrade did not work, then I would have had to download a DVD ISO and perform a DVD based upgrade.
So, I discovered there is another way to perform the preupgrade. What I did was to let the preugrade start. At the point it starts to download the boot images in /boot/ugrades (second step), I created a link for /boot/upgrades/install.img to point to /install.img (e.g. ln -s /install.img /boot/upgrades/install.img). Because on wireless it takes a few minutes to download the boot kernel, there is enough time to create the link.
The preupgrade continues as normal and then reboots when it is ready to do the upgrade.
Upon reboot, it complains that it does not have a network connection and cannot find ks.cfg. But, when I skip that screen, it asks for the location of “install.img”. It comes up with a menu to select a disk partition and the a method to type the full path to “install.img”. Once selected, the upgrade begins and completes through the normal process.
When I rebooted the system, it came up at Fedora 12 with no issues.
One thing to note, the preupgrade process does not remove /boot/upgrades, /install.img or /var/cache/yum/preupgrade*. So, you must remove these files manually. But, you have a complete Fedora 12 upgrade without having to do a great deal of work on your syste ahead of time.
Thanks for this. I’d gotten over this problem on one system just be deleting old kernels… but when that didn’t work on another machine I was out of ideas. The `tune2fs -r 0 /dev/whatever` trick is worth its weight in gold.
Fedora 12 rocks.
Hi, just found your post and it maybe very useful to me. After doing the preupgrade things were going well until I rebooted.
Error 15: File not found
Press any key to continue..
Which brought me to the Grub menu but none of the selections would work.
Grub.conf has the following:
title Upgrade to Fedora 12 (Constantine)
kernel /upgrade/vmlinuz preupgrade repo=hd::/var/cache/yum/preupgrade stage2=hd:UUID=5fc030f5-0a5b-4ae2-bd54-9b59a042dc58:/upgrade/install.img ks=hd:UUID=5fc030f5-0a5b-4ae2-bd54-9b59a042dc58:/upgrade/ks.cfg
Looking through the links you supplied I am still questioning what to do next. I have 27Mb in my /boot currently.
I would appreciate any assistance you have time to provide.
I had problems with the additional steps, so ended up doing it this way. It’s a bit painful, but it’s repeatable and I upgraded several computers this way once I’d done it once and documented the steps: