2018-10-30 20:38:32 |
Steve Langasek |
bug |
|
|
added bug |
2018-10-31 12:21:49 |
Francis Ginther |
tags |
|
id-5bd8c48c3e55f90e687269fe |
|
2018-10-31 13:38:54 |
Mathieu Trudel-Lapierre |
grub2 (Ubuntu): status |
New |
Fix Committed |
|
2019-01-09 06:15:46 |
Launchpad Janitor |
grub2 (Ubuntu): status |
Fix Committed |
Fix Released |
|
2019-01-22 19:04:35 |
Mathieu Trudel-Lapierre |
description |
Because EFI does not support instantaneous read of modifier keys (i.e. holding down shift at boot), the only way to reliably show a boot menu is by letting the system boot, interrupting the boot, and letting the menu be displayed because 'recordfail' has been set.
If /boot/grub is on LVM, recordfail does not work, because grub doesn't have write support on LVM, so saveenv doesn't work. Indeed, from the grub.cfg on such a system, the recordfail function is written as:
function recordfail {
set recordfail=1
# GRUB lacks write support for lvm, so recordfail support is disabled.
}
The interaction of these two limitations means that systems with /boot/grub on LVM cannot reliably get a grub menu, ever.
While I think that in the long term we should always put /boot/grub on the ESP (which means it will always be writable by grub), which is in fact what we did for Ubuntu Core, in the meantime I believe what we need to do here is always show the boot menu if we are booted under EFI and we have a non-writable grubenv. |
[Impact]
This issue makes it impossible for UEFI users to access to boot menu and choose their kernel if /boot is installed on LVM.
[Test case]
1) Install Ubuntu on UEFI; put /boot on a LVM LV.
2) Reboot after the install
3) Verify that you will get a GRUB menu at boot.
[Regression potential]
Give particular attention to boot behavior on different disk setups: failure to show the menu on LVM or other disk setups when holding the SHIFT key, or showing the menu at every boot unnecessarily on other types of disk configurations: /boot on a physical partition, etc.
---
Because EFI does not support instantaneous read of modifier keys (i.e. holding down shift at boot), the only way to reliably show a boot menu is by letting the system boot, interrupting the boot, and letting the menu be displayed because 'recordfail' has been set.
If /boot/grub is on LVM, recordfail does not work, because grub doesn't have write support on LVM, so saveenv doesn't work. Indeed, from the grub.cfg on such a system, the recordfail function is written as:
function recordfail {
set recordfail=1
# GRUB lacks write support for lvm, so recordfail support is disabled.
}
The interaction of these two limitations means that systems with /boot/grub on LVM cannot reliably get a grub menu, ever.
While I think that in the long term we should always put /boot/grub on the ESP (which means it will always be writable by grub), which is in fact what we did for Ubuntu Core, in the meantime I believe what we need to do here is always show the boot menu if we are booted under EFI and we have a non-writable grubenv. |
|
2019-01-22 19:45:57 |
Brian Murray |
grub2 (Ubuntu Cosmic): status |
New |
Fix Committed |
|
2019-01-22 19:45:58 |
Brian Murray |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2019-01-22 19:45:59 |
Brian Murray |
bug |
|
|
added subscriber SRU Verification |
2019-01-22 19:46:02 |
Brian Murray |
tags |
id-5bd8c48c3e55f90e687269fe |
id-5bd8c48c3e55f90e687269fe verification-needed verification-needed-cosmic |
|
2019-01-22 19:54:58 |
Brian Murray |
grub2 (Ubuntu Bionic): status |
New |
Fix Committed |
|
2019-01-22 19:55:03 |
Brian Murray |
tags |
id-5bd8c48c3e55f90e687269fe verification-needed verification-needed-cosmic |
id-5bd8c48c3e55f90e687269fe verification-needed verification-needed-bionic verification-needed-cosmic |
|
2019-01-29 21:19:43 |
Mathieu Trudel-Lapierre |
tags |
id-5bd8c48c3e55f90e687269fe verification-needed verification-needed-bionic verification-needed-cosmic |
id-5bd8c48c3e55f90e687269fe verification-done-bionic verification-needed verification-needed-cosmic |
|
2019-01-29 22:35:10 |
Mathieu Trudel-Lapierre |
tags |
id-5bd8c48c3e55f90e687269fe verification-done-bionic verification-needed verification-needed-cosmic |
id-5bd8c48c3e55f90e687269fe verification-done-bionic verification-done-cosmic |
|
2019-01-31 08:59:02 |
Łukasz Zemczak |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2019-01-31 08:59:12 |
Launchpad Janitor |
grub2 (Ubuntu Cosmic): status |
Fix Committed |
Fix Released |
|
2019-01-31 09:16:28 |
Launchpad Janitor |
grub2 (Ubuntu Bionic): status |
Fix Committed |
Fix Released |
|
2019-02-04 10:41:57 |
Klaus Kudielka |
bug |
|
|
added subscriber Klaus Kudielka |
2019-03-07 22:59:45 |
Markus Kwaśnicki |
bug |
|
|
added subscriber Markus Kwaśnicki |
2019-03-20 09:22:43 |
Bertrand Blackburn |
bug |
|
|
added subscriber Bertrand Blackburn |
2019-09-23 14:30:00 |
Sebastian Maier |
bug |
|
|
added subscriber Sebastian Maier |
2019-12-24 07:59:16 |
Shahar Or |
bug |
|
|
added subscriber Shahar Or |
2022-06-28 10:09:18 |
Alexey |
bug |
|
|
added subscriber Alexey |
2023-04-22 00:33:58 |
Eric Slehofer |
bug |
|
|
added subscriber Eric Slehofer |
2023-11-20 23:23:48 |
Shahar Or |
removed subscriber Shahar Or |
|
|
|