libefi* integration breaks grub-install on MD devices
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
curtin (Ubuntu) |
Incomplete
|
Undecided
|
Unassigned | ||
grub2 (Ubuntu) |
Won't Fix
|
Undecided
|
Unassigned | ||
subiquity (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Working with a new install of 20.04 on RAID-1 mirror using mdadm grub-install fails on EFI installs with:
# grub-install -v /dev/md0
...
Installing for x86_64-efi platform.
grub-install: warning: efivarfs_
.
grub-install: warning: efi_get_variable: ops->get_variable failed: No such file or directory.
grub-install: warning: efi_va_
grub-install: warning: efi_generate_
grub-install: error: failed to register the EFI boot entry: Bad address.
Note the mythical device "blk0-47c7b225-
This comes from libefivars where it constructs a blk0-* device for EDD - see src/efi.
It's not clear why this happens from grub but it doesn't happen (I've not been able to reproduce it) using efibootmr directly.
Current workaround (but doesn't stop apt/dpkg failures) is to manually create the EFI entries for each device in the array, e.g:
# for i in 0 1; do efibootmgr -c -d /dev/nvme${i}n -p 1 -L "Ubuntu nvme${i}n1" -l \\EFI\\
Changed in curtin (Ubuntu): | |
status: | New → Incomplete |
Status changed to 'Confirmed' because the bug affects multiple users.