From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#30311: efi-less grub install fails Date: Thu, 01 Feb 2018 00:55:29 +0100 Message-ID: <87y3kdoa6m.fsf@gnu.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:57277) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eh2EY-0002Ld-WE for bug-guix@gnu.org; Wed, 31 Jan 2018 18:56:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eh2EU-0002oW-9w for bug-guix@gnu.org; Wed, 31 Jan 2018 18:56:07 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:43773) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eh2EU-0002oO-5g for bug-guix@gnu.org; Wed, 31 Jan 2018 18:56:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eh2ET-0007Lz-RR for bug-guix@gnu.org; Wed, 31 Jan 2018 18:56:01 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: (Ricardo Wurmus's message of "Wed, 31 Jan 2018 19:55:58 +0100") 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: Ricardo Wurmus Cc: 30311@debbugs.gnu.org Heya, Ricardo Wurmus skribis: > =E2=80=9Cguix system init=E2=80=9D fails with a configuration file that s= pecifies > grub-bootloader (not grub-efi-bootloader). > > =E2=80=9Cgrub-install=E2=80=9D reports an error about =E2=80=9Clib/grub/x= 86_64-efi/modinfo.sh=E2=80=9D > not being available. It suggests passing =E2=80=9C--target=E2=80=9D or = =E2=80=9C--device=E2=80=9D. > > Our invocation of grub-install does not include a =E2=80=9C--target=E2=80= =9D argument. > Only after I edited it to pass =E2=80=9C--target=3Di386-pc=E2=80=9D did = =E2=80=9Cguix system init=E2=80=9D > pass. > > This is on an x86_64 laptop where =E2=80=9Clegacy=E2=80=9D BIOS booting i= s enabled. To complement from what we=E2=80=99ve discussed on IRC: =E2=80=A2 It=E2=80=99s a UEFI laptop with legacy-BIOS enabled, but UEFI s= till. =E2=80=A2 AIUI the installation image boots in UEFI mode on UEFI machines= , and then =E2=80=98grub-install=E2=80=99 (probably via =E2=80=98efivar=E2=80= =99 or /sys or similar) detects that it=E2=80=99s UEFI, decides that the target is thus =E2=80=9Cx86_64-efi=E2=80=9D, and fails because it lacks the EFI files. I can think of two possible workarounds: 1. Default to =E2=80=98grub-hybrid=E2=80=99. But in that case, you=E2=80= =99d have done a UEFI install unconditionally. 2. For =E2=80=98grub-bootloader=E2=80=99 (not EFI), always pass =E2=80=98= --target=3Di386-pc=E2=80=99. Danny, Marius, thoughts? :-) Ludo=E2=80=99.