Subject: bug#30311: closed (Re: bug#30311: efi-less grub install fails)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 18 Feb 2018 11:29:04 +0000

Your bug report

#30311: efi-less grub install fails

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
30311: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=30311
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#30311: efi-less grub install fails
From: Ricardo Wurmus <[email-masked]>
To: Marius Bakke <[email-masked]>
Cc: Danny Milosavljevic <[email-masked]>, [email-masked]
Date: Sun, 18 Feb 2018 12:28:13 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Marius Bakke <[email-masked]> writes:

> Danny Milosavljevic <[email-masked]> writes:
>
>> Hi Ricardo,
>>
>> On Wed, 31 Jan 2018 19:55:58 +0100
>> Ricardo Wurmus <[email-masked]> 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

Subject: efi-less grub install fails
From: Ricardo Wurmus <[email-masked]>
To: <[email-masked]>
Date: Wed, 31 Jan 2018 19:55:58 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

“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