Monday, August 2, 2010

How to Boot second kernel if first fails?

If for example your grub.conf looks like the one i have below. This boots into the 2.6.20-1.2944 by default.


default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.20-1.2944.fc6)
        root (hd0,0)
        kernel /vmlinuz-2.6.20-1.2944.fc6 ro root=LABEL=/ acpi=off
        initrd /initrd-2.6.20-1.2944.fc6.img
title Fedora Core
        root (hd0,0)
        kernel /vmlinuz-2.6.20 ro root=LABEL=/ acpi=off
        initrd /initrd-2.6.20.img


If you want to have it so that 2.6.20 boots on next boot, run the following command from the console before rebooting.


echo “savedefault –default=1 –once” | grub –batch
then
reboot


Now, if you have a kernel that panics and need it to reboot if it panics. change your config and add the panic=# (# being seconds before auto reboot) to the kernel line. Example file below


default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.20-1.2944.fc6)
        root (hd0,0)
        kernel /vmlinuz-2.6.20-1.2944.fc6 ro root=LABEL=/ acpi=off panic=5
        initrd /initrd-2.6.20-1.2944.fc6.img
title Fedora Core (2.6.20)
        root (hd0,0)
        kernel /vmlinuz-2.6.20 ro root=LABEL=/ acpi=off panic=5
        initrd /initrd-2.6.20.img


so the order of operations on this are as follows.


- Add new kernel to grub.conf
- set default=# in grub.conf to the failsafe kernel (the one you want it to try if the other fails)
- run the following:


echo "savedefault --default=2 --once" | grub --batch; reboot



ACPI - ACPI is the system that controls your dynamic speed fans, the power button behavior, sleep states, etc.


Source - http://www.linux-noob.com/forums/index.php?/topic/2928-grub-single-boot-and-kernel-panic-reboot/

No comments: