Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
grub single boot and kernel panic reboot
#1

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.

Reply
#2
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.
Reply
#3
Nice work.
Reply
#4

agreed, thanks flukex for posting this

 

cheers

anyweb

Reply
#5
Nice ;)
Reply
#6
Yea Nice post :)
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)