[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: EFI GRUB configuration ignores platform, has issues

From: Marius Bakke
Subject: Re: EFI GRUB configuration ignores platform, has issues
Date: Sat, 22 Apr 2017 10:36:33 +0200
User-agent: Notmuch/0.24.1 ( Emacs/25.1.1 (x86_64-unknown-linux-gnu)

Hello Isaac!

Isaac van Bakel <address@hidden> writes:

> Hi Guix,
> I've been wrestling with a fresh real install for the past day or so.
> Currently, the system seems to initialize fine with my config, with the 
> exception of GRUB.
> I wanted to get grub-efi working, so I added two things on top of the 
> bare-bones config:
> (use-modules (gnu packages)) at the start.
> (grub (specification->package "grub-efi")) to my grub-configuration.
> This all seems to work about as I expect - the grub install doesn't 
> complain about a lack of a BIOS partition, and it tries its best.
> The issue seems to be in part that grub-install for EFI tries to use 
> i386-pc for a platform, even when I pass --system=x86_64-linux to guix 
> system init, and the USB is a x86_64 one.
> It tries to access a directory in /gnu/store 
> /<grub-efi>/lib/grub/i386-pc which doesn't exist, and promptly fails.

Grub will try to guess the target platform automatically. Since the
installation image is not yet UEFI enabled[0], your system has booted in
BIOS mode, and grub tries to install the BIOS payload (which is called
i386-pc even on 64-bit platforms).

> If I copy over the x86_64 folder to i386-pc, the install gets past this 
> point, and I can go on to boot as (apparently) normal.

Do you mean copy the "/gnu/store/<grub-efi>/lib/grub/x86_64-efi" folder
to "/gnu/store/<grub-efi>/lib/grub/i386-pc"? The store is read-only for
good reasons and you should never do this under normal circumstances.

> However, I'm not sure whether to trust the boot totally, and I'm worried 
> about it being unreproducable without manual effort.

I find it interesting that it worked at all. Does '/sys/firmware/efi'
exist on the booted system? If that is the case, further invocations of
`grub-install` (which is called when running `guix system reconfigure`)
should detect the EFI platform and install the appropriate payload.

Otherwise, I would guess it has installed a BIOS bootloader, in which
case you should switch to the regular "grub" package. Both of these
approaches should be future-proof if they work after `guix system
reconfigure` on the booted system.

The safest approach to a native UEFI GuixSD system currently is booting
another UEFI enabled Linux image, installing the Guix binary inside the
live environment, and do `guix system init` from there. It's pretty
involved, but we hope to have UEFI support in the official images Soon™.

Hope this helps, and sorry for the confusion!


Attachment: signature.asc
Description: PGP signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]