** Description changed:

+ [Impact]
+ MAAS installs fail on systems that have EFI Variables that include a "/" in 
the name.
+ 
  Split out of bug 1894217.
  
- We're seeing a situation where curtin fails when the variable
- BootCurrent references does not exist.
+ [Test Case]
+ $ ls /sys/firmware/efi/efivars | grep ^Boot
+ ls: reading directory '/sys/firmware/efi/efivars': Input/output error
+ Boot mode select-7683c190-9523-4402-81ff-a11e93dc389c
+ Boot0000-8be4df61-93ca-11d2-aa0d-00e098032b8c
+ BootCurrent-8be4df61-93ca-11d2-aa0d-00e098032b8c
+ BootOptionSupport-8be4df61-93ca-11d2-aa0d-00e098032b8c
+ BootOrder-8be4df61-93ca-11d2-aa0d-00e098032b8c
  
- At boot, efibootmgr -v shows:
+ The Input/output error is the key symptom.
  
- BootCurrent: 0003
- Timeout: 10 seconds
- BootOrder: 0003,0004,0005,0006,0001
- 
- Note that there are actually no individual boot entries in this output.
- BootCurrent and BootOrder are referencing Boot entries that do not
- apepar to exist.
- 
- Later, curtin tries to set a new BootOrder that places the value of
- BootCurrent at the front. This causes efibootmgr to error out,
- apparently escalating to an installation failure:
- 
-         UEFI efibootmgr output after install:
-         {'current': '0003', 'timeout': '10 seconds', 'order': ['0000'], 
'entries': {'0000': {'name
- ': 'ubuntu', 'path': 
'HD(1,GPT,0937ffdf-628c-4161-8b2f-5920235669c6,0x800,0x100000)/File(\\EFI\\ub
- untu\\shimx64.efi)'}}}
-         Setting currently booted 0003 as the first UEFI loader.
-         New UEFI boot order: 0003,0000
-         Running command ['mount', '--bind', '/dev', 
'/tmp/tmp6ha4_iz2/target/dev'] with allowed re
- turn codes [0] (capture=False)
-         Running command ['mount', '--bind', '/proc', 
'/tmp/tmp6ha4_iz2/target/proc'] with allowed 
- return codes [0] (capture=False)
-         Running command ['mount', '--bind', '/run', 
'/tmp/tmp6ha4_iz2/target/run'] with allowed re
- turn codes [0] (capture=False)
-         Running command ['mount', '--bind', '/sys', 
'/tmp/tmp6ha4_iz2/target/sys'] with allowed re
- turn codes [0] (capture=False)
-         Running command ['mount', '--bind', '/sys/firmware/efi/efivars', 
'/tmp/tmp6ha4_iz2/target/
- sys/firmware/efi/efivars'] with allowed return codes [0] (capture=False)
-         Running command ['unshare', '--fork', '--pid', '--', 'chroot', 
'/tmp/tmp6ha4_iz2/target', 
- 'efibootmgr', '-o', '0003,0000'] with allowed return codes [0] (capture=False)
-         Invalid BootOrder order entry value0003
-                                              ^
-         efibootmgr: entry 0003 does not exist
+ [Regression Risk]
+ There's a very tiny chance that someone has written code that depends on an 
the -EIO error for some reason. It's hard to guess why such a script would do 
that.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1899993

Title:
  EFI: Fails when BootCurrent entry does not exist

Status in curtin package in Ubuntu:
  Invalid
Status in linux package in Ubuntu:
  In Progress
Status in curtin source package in Xenial:
  Invalid
Status in linux source package in Xenial:
  Fix Committed
Status in curtin source package in Bionic:
  Invalid
Status in linux source package in Bionic:
  Fix Committed
Status in curtin source package in Focal:
  Invalid
Status in linux source package in Focal:
  Fix Committed
Status in curtin source package in Groovy:
  Invalid
Status in linux source package in Groovy:
  Fix Committed
Status in curtin source package in Hirsute:
  Invalid
Status in linux source package in Hirsute:
  In Progress

Bug description:
  [Impact]
  MAAS installs fail on systems that have EFI Variables that include a "/" in 
the name.

  Split out of bug 1894217.

  [Test Case]
  $ ls /sys/firmware/efi/efivars | grep ^Boot
  ls: reading directory '/sys/firmware/efi/efivars': Input/output error
  Boot mode select-7683c190-9523-4402-81ff-a11e93dc389c
  Boot0000-8be4df61-93ca-11d2-aa0d-00e098032b8c
  BootCurrent-8be4df61-93ca-11d2-aa0d-00e098032b8c
  BootOptionSupport-8be4df61-93ca-11d2-aa0d-00e098032b8c
  BootOrder-8be4df61-93ca-11d2-aa0d-00e098032b8c

  The Input/output error is the key symptom. See below to see how that
  percolates up to MAAS install failures.

  [Regression Risk]
  There's a very tiny chance that someone has written code that depends on an 
the -EIO error for some reason. It's hard to guess why such a script would do 
that.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/curtin/+bug/1899993/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to