Linux-Noob Forums

Full Version: grub single boot and kernel panic reboot
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

So, over the past while i have been working on getting a new kernel working on my system. The problem i was having is that the newer kernels i use are not loading the sata modules properly from the initrd images.

 

When trying to fix this i would run into the scnenario whereas, i reboot using the new kernel and if it kernel panics, i then have to file a ticket with my hosting provider to reboot the system and select the old kernel.

 

I have now found 2 ways around this that might be useful for anyone who does a lot of kernel testing.

 

1.) Booting once-only - (same as lilo -R)

 

In reference to [/url][url=http://www.gnu.org/software/grub/manual/gr...g-once_002donly]http://www.gnu.org/software/grub/manual/gr...g-once_002donly

 

in grub.conf, add the following line to the beginning.

 

default saved

 

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



Code:
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 (2.6.20-FluKex.com)
       root (hd0,0)
       kernel /vmlinuz-2.6.20-FluKex.com ro root=LABEL=/ acpi=off
       initrd /initrd-2.6.20-FluKex.com.img




 

If you want to have it so that 2.6.20-FluKex.com 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



Code:
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-FluKex.com)
       root (hd0,0)
       kernel /vmlinuz-2.6.20-FluKex.com ro root=LABEL=/ acpi=off panic=5
       initrd /initrd-2.6.20-FluKex.com.img




 

 

 

so the order of operations on this are as follows.

 

1.) Add new kernel to grub.conf

2.) set default=# in grub.conf to the failsafe kernel (the one you want it to try if the other fails)

3.) run the following:

echo "savedefault --default=1 --once" | grub --batch

4.) reboot

 

This will try the flukex.com kernel, and if it panics, it will reboot and use the normal default kernel.

 

BLAM works for me.

btw, it looks as though fedora core 6 has removed the "grub-set-default" option and does not use the /boot/grub/default file. There are a few different methods on how to do a "once only" boot with grub, but unforuntately fedora can only do the 1 i posted above.
Nice work.

agreed, thanks flukex for posting this

 

cheers

anyweb

Nice ;)
Yea Nice post :)