GNU bug report logs - #30311
efi-less grub install fails

Previous Next

Package: guix;

Reported by: Ricardo Wurmus <ricardo.wurmus <at> mdc-berlin.de>

Date: Wed, 31 Jan 2018 18:57:02 UTC

Severity: important

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Ricardo Wurmus <ricardo.wurmus <at> mdc-berlin.de>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#30311: closed (efi-less grub install fails)
Date: Sun, 18 Feb 2018 11:29:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sun, 18 Feb 2018 12:28:13 +0100
with message-id <87371yy1te.fsf <at> mdc-berlin.de>
and subject line Re: bug#30311: efi-less grub install fails
has caused the debbugs.gnu.org bug report #30311,
regarding efi-less grub install fails
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
30311: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=30311
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ricardo Wurmus <ricardo.wurmus <at> mdc-berlin.de>
To: <bug-guix <at> gnu.org>
Subject: efi-less grub install fails
Date: Wed, 31 Jan 2018 19:55:58 +0100
“guix system init” fails with a configuration file that specifies
grub-bootloader (not grub-efi-bootloader).

“grub-install” reports an error about “lib/grub/x86_64-efi/modinfo.sh”
not being available.  It suggests passing “--target” or “--device”.

Our invocation of grub-install does not include a “--target” argument.
Only after I edited it to pass “--target=i386-pc” did “guix system init”
pass.

This is on an x86_64 laptop where “legacy” BIOS booting is enabled.

--
Ricardo


[Message part 3 (message/rfc822, inline)]
From: Ricardo Wurmus <ricardo.wurmus <at> mdc-berlin.de>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>, 30311-done <at> debbugs.gnu.org
Subject: Re: bug#30311: efi-less grub install fails
Date: Sun, 18 Feb 2018 12:28:13 +0100
Marius Bakke <mbakke <at> fastmail.com> writes:

> Danny Milosavljevic <dannym <at> scratchpost.org> writes:
>
>> Hi Ricardo,
>>
>> On Wed, 31 Jan 2018 19:55:58 +0100
>> Ricardo Wurmus <ricardo.wurmus <at> mdc-berlin.de> wrote:
>>
>>> “guix system init” fails with a configuration file that specifies
>>> grub-bootloader (not grub-efi-bootloader).
>>> 
>>> “grub-install” reports an error about “lib/grub/x86_64-efi/modinfo.sh”
>>> not being available.  It suggests passing “--target” or “--device”.
>>> 
>>> Our invocation of grub-install does not include a “--target” argument.
>>> Only after I edited it to pass “--target=i386-pc” did “guix system init”
>>> pass.
>>
>> Hmm, I wonder what happened here.
>>
>> We've been very careful to keep grub and grub-efi separate.
>>
>> The entire directory lib/grub/x86_64-efi shouldn't be available in the
>> "grub" package output - and I checked on master, it isn't.  Good.
>>
>> So that leaves automatic target selection as the culprit.
>>
>> And indeed, there's a call to grub_install_get_default_x86_platform
>> in util/grub-install.c .  And that checks for availability of
>> /sys/firmware/efi and if it exists, defaults to EFI.
>>
>> I think it's a bug in grub to do that for a grub which doesn't have EFI
>> platform support. :P
>>
>> We could just always pass i386-pc in install-grub for i386, but then
>> we lose i386-ieee1275 (which I have never heard anyone using so maybe
>> not so bad).
>
> I agree, passing --target seems like the best workaround for this GRUB
> bug.

Okay, I’ve added “--target=i386-pc” to the list of arguments.

Thanks for the comments.

-- 
Ricardo


This bug report was last modified 7 years and 79 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.