help-guix
[Top][All Lists]
Advanced

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

Re: EFI GRUB configuration ignores platform, has issues


From: Isaac van Bakel
Subject: Re: EFI GRUB configuration ignores platform, has issues
Date: Sat, 22 Apr 2017 16:22:28 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.8.0

Hi Marius,


On 04/22/2017 09:36 AM, Marius Bakke wrote:
Hello Isaac!

Isaac van Bakel <address@hidden> writes:

...
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).
Ah, that would explain my issues. It's interesting that it tries to use the BIOS payload with the grub-efi package, though.
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.
Oh dear! Nothing a clean install won't fix, I hope.
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.
Sadly, it's missing. The /boot/EFI folder seems to be missing a lot of essential content as well, so I guess I'm using a BIOS bootloader.
...
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™.
Good to know. I was meaning to install another libre distro alongside GuixSD, just in case, but I might as well reorder the steps now to get it working first.
Hope this helps, and sorry for the confusion!
It helps a lot, thanks!

Isaac

[0] https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00407.html




reply via email to

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