Ludovic Courtès <l...@gnu.org> writes: > Hello! > > Marius Bakke <mba...@fastmail.com> skribis: > >>>> OK. I'll try to find out why tests don't work with the UEFI variant >>>> first in order to at least write a meaningful comment. Maybe qemu needs >>>> UEFI support or something like that. >>> >>> It might be that we no longer need QEMU 1.3.1 to run the tests (see the >>> top of gnu/packages/grub.scm)? >> >> The problem is missing UEFI firmware for the qemu calls. But we indeed >> no longer need qemu@1.3.1 for the tests, at least on x86_64. I replaced >> it with 'qemu-minimal'. Pushed! > > Great! > > I’m failing at installing GuixSD on a new laptop I have here. > ‘efibootmgr’ exits with code 2 and this message: > > EFI variables are not supported on this system. > > (which ‘grub-install’ happily ignores.) > > This is because /sys/firmware/efi is missing, which apparently is > because I booted off the GuixSD USB image (“legacy”) and not in EFI > mode. > > What would you suggest? :-)
What I did was a normal BIOS install, backup the grub.cfg, switch laptop to UEFI (only) and boot a Debian live CD. From there "apt-get install grub-efi; grub-install /dev/sda" and afterwards copy grub.cfg in place. You may want to add "insmod efi_gop" and "insmod efi_uga" to grub.cfg, otherwise you won't get a framebuffer until the proper video driver is loaded (which may require unlocking root partition etc). Not the most user friendly installation instructions! I'm researching methods to make the base install image hybrid BIOS/UEFI. Once booted, you should apply the following two patches when reconfiguring the system. I think they are safe for BIOS systems too, but haven't done extensive testing.
signature.asc
Description: PGP signature
>From fa12cd92a2e4eead22f640d6231813e50b8191bf Mon Sep 17 00:00:00 2001 From: Marius Bakke <mba...@fastmail.com> Date: Sun, 6 Nov 2016 17:26:06 +0000 Subject: [PATCH 1/2] build: Make grub-install command UEFI aware. * gnu/build/install.scm (install-grub): Extend grub-install command with '--bootloader-id' and '--efi-directory'. --- gnu/build/install.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/build/install.scm b/gnu/build/install.scm index 5c2b35632..ddd95bbf6 100644 --- a/gnu/build/install.scm +++ b/gnu/build/install.scm @@ -54,6 +54,9 @@ GC'd." (unless (zero? (system* "grub-install" "--no-floppy" "--boot-directory" (string-append mount-point "/boot") + "--bootloader-id=GNU" + "--efi-directory" + (string-append mount-point "/boot") device)) (error "failed to install GRUB"))) -- 2.11.0
>From dd71d9b334ceccc09cd42484c6deac2079c44c70 Mon Sep 17 00:00:00 2001 From: Marius Bakke <mba...@fastmail.com> Date: Mon, 7 Nov 2016 12:24:01 +0000 Subject: [PATCH 2/2] system: Load efi modules in grub.cfg. * gnu/system/grub.scm (eye-candy): Load 'efi_gop' and 'efi_uga' grub modules. --- gnu/system/grub.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm index 4657b06b5..9477b2494 100644 --- a/gnu/system/grub.scm +++ b/gnu/system/grub.scm @@ -183,6 +183,8 @@ system string---e.g., \"x86_64-linux\"." (if (string-match "^(x86_64|i[3-6]86)-" system) " # Leave 'gfxmode' to 'auto'. + insmod efi_gop + insmod efi_uga insmod vbe insmod vga insmod video_bochs -- 2.11.0