** 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
