[Bug 1891718] Re: [Regression] breaks GRUB install on an nvme device

dann frazier 1891718 at bugs.launchpad.net
Fri Oct 9 21:28:42 UTC 2020


** Description changed:

- After upgrading a system from bionic to focal, grub-install began to
- fail:
+ [Impact]
+ Grub fails to install on systems with nvme-subsys storage when installing focal, or upgrading from bionic to focal. As symptom of the latter is shown below:
  
- $ sudo /usr/sbin/grub-install 
+ ┌───────────────────────┤ Configuring shim-signed ├────────────────────────┐  
+   │                                                                          │  
+   │ GRUB failed to install to the following devices:                         │  
+   │                                                                          │  
+   │ /dev/nvme0n1p1                                                           │  
+   │                                                                          │  
+   │ Do you want to continue anyway? If you do, your computer may not start   │  
+   │ up properly.                                                             │  
+   │                                                                          │  
+   │ Writing GRUB to boot device failed - continue?                           │  
+   │                                                                          │  
+   │                    <Yes>                       <No>         
+ 
+ 
+ [Test Case]
+ On a system with an EFI System Partition residing on an nvme-subsys block device, run grub-install:
+ 
+ $ sudo /usr/sbin/grub-install
  Installing for x86_64-efi platform.
  /usr/sbin/grub-install: warning: Internal error.
  /usr/sbin/grub-install: error: failed to register the EFI boot entry: Operation not permitted.
  
- The issue seems to stem from libefiboot1. With upstream release 35:
+ Also, regression test on a system with a non-nvme-subsys NVMe device.
  
- # LD_PRELOAD=/home/ubuntu/efivar/src/libefiboot.so /bin/efibootmgr -q -c -d /dev/nvme0n1 -p 1 -w -L grub -l \\EFI\\grub\\grubx64.efi -v
- #
- 
- But with 36:
- # LD_PRELOAD=/home/ubuntu/efivar/src/libefiboot.so /bin/efibootmgr -q -c -d /dev/nvme0n1 -p 1 -w -L grub -l \\EFI\\grub\\grubx64.efi -vCould not prepare Boot variable: No such file or directory
- 
- 
- git bisect of upstream efivars hit the following commit:
- # first bad commit: [ff696a432bf92af1206e235a60ad28b58ff0ab92] Move nvme parsing to linux-nvme.c
+ [Regression Potential]
+ There's a risk that a parsing bug will introduce a regression to other systems - most like systems with NVMe block devices.

** Description changed:

  [Impact]
  Grub fails to install on systems with nvme-subsys storage when installing focal, or upgrading from bionic to focal. As symptom of the latter is shown below:
  
- ┌───────────────────────┤ Configuring shim-signed ├────────────────────────┐  
-   │                                                                          │  
-   │ GRUB failed to install to the following devices:                         │  
-   │                                                                          │  
-   │ /dev/nvme0n1p1                                                           │  
-   │                                                                          │  
-   │ Do you want to continue anyway? If you do, your computer may not start   │  
-   │ up properly.                                                             │  
-   │                                                                          │  
-   │ Writing GRUB to boot device failed - continue?                           │  
-   │                                                                          │  
-   │                    <Yes>                       <No>         
- 
+ ┌───────────────────────┤ Configuring shim-signed ├────────────────────────┐
+   │                                                                          │
+   │ GRUB failed to install to the following devices:                         │
+   │                                                                          │
+   │ /dev/nvme0n1p1                                                           │
+   │                                                                          │
+   │ Do you want to continue anyway? If you do, your computer may not start   │
+   │ up properly.                                                             │
+   │                                                                          │
+   │ Writing GRUB to boot device failed - continue?                           │
+   │                                                                          │
+   │                    <Yes>                       <No>
  
  [Test Case]
  On a system with an EFI System Partition residing on an nvme-subsys block device, run grub-install:
  
  $ sudo /usr/sbin/grub-install
  Installing for x86_64-efi platform.
  /usr/sbin/grub-install: warning: Internal error.
  /usr/sbin/grub-install: error: failed to register the EFI boot entry: Operation not permitted.
  
  Also, regression test on a system with a non-nvme-subsys NVMe device.
  
  [Regression Potential]
  There's a risk that a parsing bug will introduce a regression to other systems - most like systems with NVMe block devices.
+ 
+ This fix has been in groovy since just after beta (minus an innocuous
+ debug statement that upstream requested during review), and the same
+ patches apply cleanly to focal, which should help mitigate the risk by
+ way of some real world exposure.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to efivar in Ubuntu.
https://bugs.launchpad.net/bugs/1891718

Title:
  [Regression] breaks GRUB install on an nvme device

Status in Efivar:
  New
Status in efivar package in Ubuntu:
  Fix Released
Status in efivar source package in Focal:
  In Progress
Status in efivar source package in Groovy:
  Fix Released

Bug description:
  [Impact]
  Grub fails to install on systems with nvme-subsys storage when installing focal, or upgrading from bionic to focal. As symptom of the latter is shown below:

  ┌───────────────────────┤ Configuring shim-signed ├────────────────────────┐
    │                                                                          │
    │ GRUB failed to install to the following devices:                         │
    │                                                                          │
    │ /dev/nvme0n1p1                                                           │
    │                                                                          │
    │ Do you want to continue anyway? If you do, your computer may not start   │
    │ up properly.                                                             │
    │                                                                          │
    │ Writing GRUB to boot device failed - continue?                           │
    │                                                                          │
    │                    <Yes>                       <No>

  [Test Case]
  On a system with an EFI System Partition residing on an nvme-subsys block device, run grub-install:

  $ sudo /usr/sbin/grub-install
  Installing for x86_64-efi platform.
  /usr/sbin/grub-install: warning: Internal error.
  /usr/sbin/grub-install: error: failed to register the EFI boot entry: Operation not permitted.

  Also, regression test on a system with a non-nvme-subsys NVMe device.

  [Regression Potential]
  There's a risk that a parsing bug will introduce a regression to other systems - most at risk are systems with NVMe block devices.

  This fix has been in groovy since just after beta (minus an innocuous
  debug statement that upstream requested during review), and the same
  patches apply cleanly to focal, which should help mitigate the risk by
  way of some real world exposure.

To manage notifications about this bug go to:
https://bugs.launchpad.net/efivar/+bug/1891718/+subscriptions



More information about the foundations-bugs mailing list