recovering from a dodgy upgrade
Had a bit of a hair-raiser today. I ran an
apt-get update; apt-get upgrade today on my two main home machines (both run Fedora), and got a bit of a thrill when the big one, Monolith, which my
GF fiancee uses (may her pointy boots stay far from my shins), refused to boot!
The main difference between before and after the upgrade seems to have been a
udev package, which replaces the old
The problem manifested itself by the machine running through the Grub boot, then apparently freezing after a line that read:
Red Hat nash version 3.5.22 starting
After a bit of googling, I found that more information can be gotten by removing the “quiet” and “rhgb” (or something) options from the kernel init string in the Grub startup.
Anyway – to cut a long story short, here’s what was happening:
Between Fedora Core 2 and Fedora Core 3, the system was changed to use a
udev instead of
dev system to access hardware. Something about new dynamic loading or something. Nope, I don’t know either…
However, the dependencies for the new
udev RPM do not mention that you also need to upgrade your kernel at the same time to use the new system (the Fedora Core 2 kernel does not load up the
udev module, I guess), and that failing to do so will break your system.
- Boot from your Fedora boot disc.
- Load up the rescue image (type
linux rescueand hit enter) when you are asked which image to use.
chroot /mnt/sysimagewhen booted, to boot into your system.
- Now, type
apt-get install kernel. A list of options will be presented. Choose the one which fits your system best and has the highest version number. I chose kernel-2.6.9-1.681_FC3.
- Install the new kernel. In my case it was
apt-get install kernel#2.6.9-1.681_FC3.
- Also in my case, the install fsked up, in that it did not create an entry in
/boot/grub/grub.conffor the new kernel. So, edit it, and add a new entry. In my case, I added these to the end of the file:
title Fedora Core 3 (2.6.9-1.681_FC3) root (hd0,0) kernel /boot/vmlinuz-2.6.9-1.681_FC3 ro root=LABEL=/1 rhgb quiet initrd /boot/initrd-2.6.9-1.681_FC3.img
- Reboot, making sure to remove the boot CD. When the Grub screen comes up, choose the new kernel.
- That should work fine. If all is well, then edit
/boot/grub/grub.confagain, and change the default to the new setup.