FS#64551 - [efivar] 37-2 breaks efibootmgr because of cherry-picked gcc9 support patches
Attached to Project:
Arch Linux
Opened by Maciej Szeptuch (Neverous) - Sunday, 17 November 2019, 21:56 GMT
Last edited by Christian Hesse (eworm) - Monday, 25 November 2019, 11:57 GMT
Opened by Maciej Szeptuch (Neverous) - Sunday, 17 November 2019, 21:56 GMT
Last edited by Christian Hesse (eworm) - Monday, 25 November 2019, 11:57 GMT
|
Details
37-2 includes several patches to 37 that fix compilation
under recent gcc 9, unfortunately those patches introduced
at least one bug that was fixed later and it breaks
efibootmgr:
``` >> efibootmgr -v10 [...] BootCurrent: 0001 Timeout: 0 seconds BootOrder: 0001,0000 Boot0000* Arch LinuxCould not parse device path: Invalid argument error trace: /build/efivar/src/efivar/src/include/efivar/efivar-dp.h:1208 efidp_is_valid(): invalid device path node type: Invalid argument zsh: exit 18 efibootmgr -v10 ``` Expected (works with efivar==37-1 from core): ``` >> efibootmgr -v10 [...] BootCurrent: 0001 Timeout: 0 seconds BootOrder: 0001,0000 Boot0000* Arch Linux HD([...] Boot0001* Arch Linux2 HD([...] ``` I found the missing patches, after applying them this error is gone: fdb803402fb32fa6d020bac57a40c7efe4aabb7d 4e04afc2df9bbc26e5ab524b53a6f4f1e61d7c9e (tested by adding them to cherry-picked list in 37-2 PKGBUILD) Steps to reproduce: 1. Have system with EFI boot setup 2. Install testing/efivar (37-2) and efibootmgr 3. Run efibootmgr -v10 and see it crashes unable to parse device path 4. Install core/efivar (37-1) 3. Run efibootmgr -v10 and see it works correctly |
This task depends upon
Closed by Christian Hesse (eworm)
Monday, 25 November 2019, 11:57 GMT
Reason for closing: Fixed
Additional comments about closing: efivar 37-3
Monday, 25 November 2019, 11:57 GMT
Reason for closing: Fixed
Additional comments about closing: efivar 37-3
efivar version: 37-2
efibootmgr version: 16-2
$ efibootmgr -v
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0003,0000,0002,0001
Boot0000* ubuntuCould not parse device path: Invalid argument
$ efibootmgr -v10
Could not read variable 'BootNext': No such file or directory
error trace:
efivarfs.c:258 efivarfs_get_variable(): open(/sys/firmware/efi/efivars/BootNext-8be4df61-93ca-11d2-aa0d-00e098032b8c): No such file or directory
lib.c:139 efi_get_variable(): ops->get_variable failed: No such file or directory
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0003,0000,0002,0001
Boot0000* ubuntuCould not parse device path: Invalid argument
error trace:
/build/efivar/src/efivar/src/include/efivar/efivar-dp.h:1208 efidp_is_valid(): invalid device path node type: Invalid argument
For anyone interested I attached the PKGBUILD that works for me.
wget https://archive.archlinux.org/packages/e/efivar/efivar-37-1-x86_64.pkg.tar.xz
sudo pacman -U efivar-37-1-x86_64.pkg.tar.xz
rm efivar-37-1-x86_64.pkg.tar.xz