[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