[Bug 425979] Re: [UEFI boot only] Holding shift fails to display grub2 menu

TJ ubuntu at iam.tj
Tue May 10 06:41:57 UTC 2016


** Description changed:

  Binary package hint: grub2
  
- Grub2 has switched away from a minimum 1 second delay to hit enter, in
- preference to simply holding down shift during the boot sequence.
- However, this behaviour doesn't work on all machines.
+ Ubuntu added a patch on top of mainline GRUB and Debian such that holding down the Shift modifier key during boot will cause it to display
+ the hidden boot menu.
  
- Further, many users will only learn this after their machine fails to
- boot normally, leaving them unable to boot at all without outside
- assistance.
+ In the original IBM PC/AT design the modifier keys (Shifts, Ctrls, Alts) are handled separately to all other keys. Instead of reporting state transitions there is an I/O port register that is read by the software where each bit position represents the current state of the associated
+ modifier key.
+ 
+ The functionality to read this I/O port register works correctly for
+ BIOS systems or UEFI systems starting in Legacy/CSM mode.
+ 
+ On UEFI systems this does not work. The reasons are:
+ 
+ 1. At the time this Ubuntu-specific functionality was added to Ubuntu
+ the UEFI specification, and UEFI implementations by manufacturers, did
+ not provide a way to detect the state of the modifier keys.
+ 
+ 2. UEFI only provides the same mechanism as for all other keys: detect a
+ transition of state (key_down or key_up).
+ 
+ 3. When GRUB timeout is set to 0 (zero) there is no way to detect a key
+ press transition.
+ 
+ It appears that UEFI specification version 2.4 may now support the
+ required reading of modifier key state so I shall be investigating
+ whether we can now add support for UEFI systems that implement the v2.4
+ specification.

-- 
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/425979

Title:
  [UEFI boot only] Holding shift fails to display grub2 menu

Status in grub2 package in Ubuntu:
  In Progress

Bug description:
  Binary package hint: grub2

  Ubuntu added a patch on top of mainline GRUB and Debian such that holding down the Shift modifier key during boot will cause it to display
  the hidden boot menu.

  In the original IBM PC/AT design the modifier keys (Shifts, Ctrls, Alts) are handled separately to all other keys. Instead of reporting state transitions there is an I/O port register that is read by the software where each bit position represents the current state of the associated
  modifier key.

  The functionality to read this I/O port register works correctly for
  BIOS systems or UEFI systems starting in Legacy/CSM mode.

  On UEFI systems this does not work. The reasons are:

  1. At the time this Ubuntu-specific functionality was added to Ubuntu
  the UEFI specification, and UEFI implementations by manufacturers, did
  not provide a way to detect the state of the modifier keys.

  2. UEFI only provides the same mechanism as for all other keys: detect
  a transition of state (key_down or key_up).

  3. When GRUB timeout is set to 0 (zero) there is no way to detect a
  key press transition.

  It appears that UEFI specification version 2.4 may now support the
  required reading of modifier key state so I shall be investigating
  whether we can now add support for UEFI systems that implement the
  v2.4 specification.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/425979/+subscriptions



More information about the foundations-bugs mailing list