** 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
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1891718

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

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

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to