Reassigning grub EFI fallback bugs, merging with others
reassign 767037 grub-efi
reassign 746662 grub-efi
reassign 708430 grub-efi
forcemerge 767037 746662 708430
retitle 767037 grub-efi: add install-time option to place grub-efi in removable media path
clone 767037 -1
reassign -1 grub-installer
retitle -1 grub-installer: add install-time option to place grub-efi in removable media path
block -1 by 767037
All of these bugs look to be the same issue: dealing with broken UEFI
implementations that don't find/boot a *correctly* installed grub-efi
loader in \EFI\debian\grubx64.efi for some reason. There's multiple
parts to fixing this for Debian, I think, and I'll spell them out
here. Please comment and tell me I'm wrong if you think I am!
1. Add extra support in the grub-efi*(?) packages. When we
install/update a grub-efi boot image (grub*.efi), add the option
of *also* installing that image to the removable media path:
\EFI\boot\boot$ARCH.efi. This code should *not* be enabled by
default (as correctly-functioning UEFI implementations will not
need it), but we should add a debconf variable to enable it. Thus,
this can be configured elsewhere or even pre-seeded at
installation time if desired. As newer, future versions of grub
are installed, we should ensure that the copy of grub in the
removable media path is updated in sync.
(Why do we need to update the removable media path copy? To ensure
that the loader portion there and the rest of the grub modules,
config etc. remain in sync. Otherwise, badness...)
2. Add support (question, template, etc.) in grub-installer to set
the new debconf variable. This should be at low priority so most
people won't see it, but it's available in expert mode or (again)
for pre-seed use.
3. Add an extra path through the grub-installer code for *rescue*
mode: "Did you install a UEFI system but your Debian system did
not boot?" which can set the new debconf variable and then call
the normal "reinstall grub" code. We'll need to make sure we warn
people that this will over-write any existing UEFI bootloaders on
their system, so if they still want to use their old Windows
install dual-boot etc. they need to make sure it's configured for
booting via Grub.
Ideally, it would be lovely if we can somehow guess/determine
automatically that there is a Debian UEFI installation on the
system and offer this new rescue option automatically only where
it makes sense. Not sure how hard/easy that would be right now,
before investigating the code further.
4. Add documentation to the installation guide to take people through
this process: "If you have a broken UEFI implementation on your
computer, then here's how to recognise it and here's what to do to
work around it......"
Go on, what have I missed / misunderstood / got wrong?
Steve McIntyre, Cambridge, UK. firstname.lastname@example.org
Armed with "Valor": "Centurion" represents quality of Discipline,
Honor, Integrity and Loyalty. Now you don't have to be a Caesar to
concord the digital world while feeling safe and proud.