Red Hat Bugzilla – Bug 468461
[PATCH] grub timeout=0 means serial users cannot select kernel or add kernel args
Last modified: 2013-01-09 23:52:13 EST
Description of problem:
A recent change to booty made the default timeout value in grub.conf 0. On my system with serial console I no longer am able to select the kernel to boot. I imagine we would have the same issue on a VGA console (will test that when I have a system with a VGA console handy).
This would be seen as very un-user friendly if a user needs to select a different kernel or add kernel options in order to boot.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
For the VGA console, you can hold a key (like Shift or Control) at boot to bring up the GRUB menu. This is the expected behavior.
Does that work for serial console as well?
(In reply to comment #1)
> For the VGA console, you can hold a key (like Shift or Control) at boot to
> bring up the GRUB menu. This is the expected behavior.
> Does that work for serial console as well?
No, this doesn't appear to work for me on serial console.
Yeah, now that I think about it, holding Shift wouldn't do anything over a serial link.
Can you try hitting a key (any key - spacebar will do nicely) when GRUB loads and see if it gives you the expected menu?
Alternately, I guess if we set up serial, we can change the timeout
I have tried holding keys and hitting them very rapidly as the menu comes up. As Jeremy suggests we need to increase the timeout (I would suggest 5 sec) on serial console.
What does your grub.conf look like?
It appears that we set:
terminal --timeout=5 serial console
Is the first overriding the second?
(In reply to comment #6)
> What does your grub.conf look like?
> It appears that we set:
> terminal --timeout=5 serial console
> Is the first overriding the second?
yes, this is what my config looks like. The 2 timeouts are for different things (as I understand it). The "terminal --timeout=5" is the time it waits for a user to press a key on either the serial or the VGA console, this is what allows grub to automatically detect which console the user is using.
The timeout=0 is the time it waits for the user to select a kernel before it boots, that's the one causing the problem here.
Created attachment 322465 [details]
Here's a booty patch that theoretically should fix this - I don't have any serial-console capable machines to test with right now.
As discussed in Bug 468526 the timeout value isn't used if any chainloader entries exists. It is overruled by chaintimeout which apparently defaults to 5 but is configurable. Depending on how 468526 is resolved I think the patch from comment 8 should set chaintimeout too.
Should be fixed in booty-0.106-1.fc10, grub-0.97-38.fc10.
Tagged for final.