Looking back at your patch:
Index: curtin-20.1-29-g81144052/curtin/util.py =================================================================== --- curtin-20.1-29-g81144052.orig/curtin/util.py +++ curtin-20.1-29-g81144052/curtin/util.py @@ -886,6 +886,7 @@ def get_efibootmgr(target=None): """ with ChrootableTarget(target=target) as in_chroot: stdout, _ = in_chroot.subp(['efibootmgr', '-v'], capture=True) + LOG.info("DANNF:\n%s", stdout) output = parse_efibootmgr(stdout) return output
And the logs:
Running command ['unshare', '--fork', '--pid', '--', 'chroot', '/tmp/tmp6ha4_iz2/target', 'efibootmgr', '-v'] with allowed return codes [0] (capture=True) DANNF: BootCurrent: 0003 Timeout: 10 seconds BootOrder: 0003,0004,0005,0006,0001
The firmware appears to have no entries at all; but somehow has a BootCurrent and a BootOrder pointing to entries that don't exist. This certainly has to be a firmware bug no?
Looking back at your patch:
Index: curtin- 20.1-29- g81144052/ curtin/ util.py ======= ======= ======= ======= ======= ======= ======= ======= ==== 20.1-29- g81144052. orig/curtin/ util.py 20.1-29- g81144052/ curtin/ util.py target= None): t(target= target) as in_chroot: subp([' efibootmgr' , '-v'], capture=True) "DANNF: \n%s", stdout) r(stdout)
=======
--- curtin-
+++ curtin-
@@ -886,6 +886,7 @@ def get_efibootmgr(
"""
with ChrootableTarge
stdout, _ = in_chroot.
+ LOG.info(
output = parse_efibootmg
return output
And the logs:
Running command ['unshare', '--fork', '--pid', '--', 'chroot', '/tmp/tmp6ha4_ iz2/target' , 'efibootmgr', '-v'] with allowed return codes [0] (capture=True) 0005,0006, 0001
DANNF:
BootCurrent: 0003
Timeout: 10 seconds
BootOrder: 0003,0004,
The firmware appears to have no entries at all; but somehow has a BootCurrent and a BootOrder pointing to entries that don't exist. This certainly has to be a firmware bug no?