Reassigning grub EFI fallback bugs, merging with others

Steve McIntyre steve at einval.com
Thu Nov 20 01:49:55 UTC 2014


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
thanks

Hi folks,

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.                                steve at einval.com
  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.




More information about the Pkg-grub-devel mailing list