From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#28768: guix system vm Failed to install GRUB (EFI) Date: Thu, 12 Oct 2017 10:46:23 +0200 Message-ID: <877ew0rbxc.fsf@gnu.org> References: <87info3xtj.fsf@gmail.com> <87efqa95x4.fsf@fastmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36343) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e2Z92-0002y5-3E for bug-guix@gnu.org; Thu, 12 Oct 2017 04:47:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e2Z8x-0006YB-2G for bug-guix@gnu.org; Thu, 12 Oct 2017 04:47:08 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:54403) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1e2Z8w-0006Y3-Ug for bug-guix@gnu.org; Thu, 12 Oct 2017 04:47:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1e2Z8w-0006fx-G6 for bug-guix@gnu.org; Thu, 12 Oct 2017 04:47:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87efqa95x4.fsf@fastmail.com> (Marius Bakke's message of "Tue, 10 Oct 2017 21:08:55 +0200") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Marius Bakke Cc: 28768@debbugs.gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Marius Bakke skribis: > Oleg Pykhalov writes: > >> EFI bootloader configuration causes problems to test with 'system vm' >> before 'reconfigure'. > > This is because `guix system vm` is not currently UEFI enabled, so GRUB > tries to install for a normal PC BIOS. > > The fix would be to make the various QEMU invocations in (gnu system vm) > take a #:firmware parameter that passes something along the lines of > '-bios #$(file-append ovmf "/share/ovmf/firmware/ovmf_x64.bin")' to the > QEMU command-line, and update other scripts to take advantage. Perhaps by adding it to records we=E2=80=99d make it less annoying to pass around? Or are there other places that would still need extra care? Another option, in the meantime is this: --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 273a895be..f763b430b 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -565,6 +565,14 @@ environment with the store shared with the host. MAPPINGS is a list of user-file-systems))) (operating-system (inherit os) + + ;; XXX: Until we run QEMU with UEFI support (with the OVMF firmware), + ;; force the traditional i386/BIOS method. + ;; See . + (bootloader (bootloader-configuration + (bootloader grub-bootloader) + (target "/dev/vda"))) + (initrd (lambda (file-systems . rest) (apply base-initrd file-systems #:volatile-root? #t --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable That=E2=80=99s what I do manually anyway. WDYT? If that=E2=80=99s fine with you, I can commit it. Thanks, Ludo=E2=80=99. --=-=-=--