[Bug 1178618] Re: --hotkey option does not work when the menu is hidden
Colin Watson
cjwatson at canonical.com
Wed Nov 27 18:15:12 UTC 2013
OK. I talked with Vladimir about this on #grub today; he shares my
dislike for the hardcoded hotkey names, and between us we came up with a
better plan:
* The simplest way to work out what hotkeys to honour is to introspect the menu structure itself. However, this can only be done after all the top-level commands in grub.cfg have been executed, so it can't be done in the "sleep" command.
* There's nothing particular that says that we have to implement the hidden timeout in a "sleep" command, although we have to take some care to ensure configuration file compatibility with older modules. Since the main timeout is implemented in normal.mod, it makes some sense for the hidden timeout to go there too, where we can get at the menu structure.
* The simplest way to arrange for configuration file compatibility is to add a new "hiddenmenu" command that sets a "hidden_timeout" environment variable; we could also set the environment variable directly, but having a command allows us to detect the absence of that command and infer that we need to fall back to the old mechanism.
I'm working on an implementation of this plan now to check that it's
viable, and will post the results on grub-devel. Modulo one slight
roadblock it's looking much simpler so far.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub2 in Ubuntu.
https://bugs.launchpad.net/bugs/1178618
Title:
--hotkey option does not work when the menu is hidden
Status in GRand Unified Bootloader:
New
Status in OEM Priority Project:
Confirmed
Status in OEM Priority Project precise series:
Confirmed
Status in “grub2” package in Ubuntu:
Triaged
Status in “grub2” source package in Precise:
New
Bug description:
Grub2 can detect key modifier status in 'sleep --interruptible',
so that you can interrupt the sleep by pressing Shift.
(src: grub-core/commands/sleep.c)
It will be useful if grub2 can also detect function key status,
so user can boot to pre-defined grub menu entry by press specified
function key.
Here is a proposed command name and usage.
- getfunctionkey -i {sec} {keyname}
Here is an example of configuration that user can start memory test
whiling he is pressing F9.
```
if ! getfunctionkey -i 3 f9 ; then
menuentry "Memory test (memtest86+)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root d458babc-81f0-4dd7-ac88-410407141e2c
linux16 /boot/memtest86+.bin
}
fi
```
To manage notifications about this bug go to:
https://bugs.launchpad.net/grub/+bug/1178618/+subscriptions
More information about the foundations-bugs
mailing list