From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 31 18:34:22 2018 Received: (at 30311) by debbugs.gnu.org; 31 Jan 2018 23:34:22 +0000 Received: from localhost ([127.0.0.1]:51661 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eh1tW-0006rA-Ir for submit@debbugs.gnu.org; Wed, 31 Jan 2018 18:34:22 -0500 Received: from dd26836.kasserver.com ([85.13.145.193]:34958) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eh1tU-0006r1-Pp for 30311@debbugs.gnu.org; Wed, 31 Jan 2018 18:34:21 -0500 Received: from localhost (77.118.175.51.wireless.dyn.drei.com [77.118.175.51]) by dd26836.kasserver.com (Postfix) with ESMTPSA id 704643360419; Thu, 1 Feb 2018 00:34:19 +0100 (CET) Date: Thu, 1 Feb 2018 00:34:14 +0100 From: Danny Milosavljevic To: Ricardo Wurmus Subject: Re: bug#30311: efi-less grub install fails Message-ID: <20180201003414.4a535dec@scratchpost.org> In-Reply-To: References: X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 30311 Cc: 30311@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Hi Ricardo, On Wed, 31 Jan 2018 19:55:58 +0100 Ricardo Wurmus wrote: > =E2=80=9Cguix system init=E2=80=9D fails with a configuration file that s= pecifies > grub-bootloader (not grub-efi-bootloader). >=20 > =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. >=20 > 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. Hmm, I wonder what happened here. We've been very careful to keep grub and grub-efi separate. The entire directory lib/grub/x86_64-efi shouldn't be available in the "grub" package output - and I checked on master, it isn't. Good. So that leaves automatic target selection as the culprit. And indeed, there's a call to grub_install_get_default_x86_platform in util/grub-install.c . And that checks for availability of /sys/firmware/efi and if it exists, defaults to EFI. I think it's a bug in grub to do that for a grub which doesn't have EFI platform support. :P We could just always pass i386-pc in install-grub for i386, but then we lose i386-ieee1275 (which I have never heard anyone using so maybe not so bad). Please report a bug with grub...