Hello Isaac! Isaac van Bakel 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 > //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//lib/grub/x86_64-efi" folder to "/gnu/store//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! [0] https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00407.html