Bug#767037: Grub EFI fallback - patches for review

Steve McIntyre steve at einval.com
Mon Dec 1 13:57:31 UTC 2014


Control: severity 767037 serious
Control: tag 767037 +patch

[ Raising severity to serious as I've heard more and more reports of
  the problems here recently. ]

Hi folks,

i have two patches attached here, one for grub and one for
grub-installer. They implement the logic I described below and are
reasonably self-contained and non-intrusive. Please check them over
and give feedback, I'd like to get these in ASAP.

I saw almost zero response to my previous mail... :-/

For this to work sensibly, we will need both patches applying.

On Thu, Nov 20, 2014 at 01:49:55AM +0000, Steve McIntyre wrote:
>
>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.
>
>
>-- 
>To UNSUBSCRIBE, email to debian-boot-REQUEST at lists.debian.org
>with a subject of "unsubscribe". Trouble? Contact listmaster at lists.debian.org
>Archive: https://lists.debian.org/20141120014955.GA28831@einval.com
>
>
-- 
Steve McIntyre, Cambridge, UK.                                steve at einval.com
"...In the UNIX world, people tend to interpret `non-technical user'
 as meaning someone who's only ever written one device driver." -- Daniel Pead
-------------- next part --------------
A non-text attachment was scrubbed...
Name: grub-install-fallback.patch
Type: text/x-diff
Size: 8115 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-grub-devel/attachments/20141201/f69d76ae/attachment-0006.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: grub-installer-rescue-UEFI-removable.patch
Type: text/x-diff
Size: 7341 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-grub-devel/attachments/20141201/f69d76ae/attachment-0007.patch>


More information about the Pkg-grub-devel mailing list