From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marius Bakke Subject: Re: [PATCH 6/6] gnu: Add grub-efi. Date: Sun, 18 Dec 2016 15:36:36 +0100 Message-ID: <87lgvdnw23.fsf@kirby.i-did-not-set--mail-host-address--so-tickle-me> References: <20161105125511.29383-1-mbakke@fastmail.com> <20161105125511.29383-7-mbakke@fastmail.com> <20161105185803.GA11667@jasmine> <87h97l67kz.fsf@kirby.i-did-not-set--mail-host-address--so-tickle-me> <878tsww9ov.fsf@gnu.org> <87vaw087kr.fsf@kirby.i-did-not-set--mail-host-address--so-tickle-me> <871syny88o.fsf@gnu.org> <87oa1r8wyv.fsf@kirby.i-did-not-set--mail-host-address--so-tickle-me> <871sx73ink.fsf@gnu.org> <87y3zfrd7j.fsf@kirby.i-did-not-set--mail-host-address--so-tickle-me> <87y3zdo6cx.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50272) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cIcZx-0001kI-KF for guix-devel@gnu.org; Sun, 18 Dec 2016 09:36:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cIcZu-0006eh-9Y for guix-devel@gnu.org; Sun, 18 Dec 2016 09:36:45 -0500 In-Reply-To: <87y3zdo6cx.fsf@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ludovic Court=C3=A8s writes: >> Relatedly, I think the way to build a 'multi-grub' is to have one >> expression for each supported grub platform, and then consolidate >> out/lib/grub from each. > > So in essence, GRUB itself supports only one platform at a time? AFAICT yes. Gentoo works around this by running the build for each user-specified platform and combining the outputs. Most other distros just carry separate grub-pc and grub-efi packages. >>> Now there are things I didn=E2=80=99t quite get. Apparently you=E2=80= =99re supposed to >>> have a /boot/efi as a vfat partition, and =E2=80=98grub-install=E2=80= =99 is supposed to >>> detect it and install the EFI stuff, or so I thought (info "(grub) >>> Installing GRUB using grub-install"). >>> >>> However, =E2=80=98grub-install=E2=80=99 still seems to be installing fo= r =E2=80=9Ci386-pc=E2=80=9D >>> instead of EFI. >>> >>> What am I missing? >> >> IIRC grub-install will detect and install for the running mode (pc, efi, >> etc). So in a classic chicken-and-egg situation, you need to be booted >> with UEFI mode for grub to select the correct installation platform! > > My understanding is that it would install for UEFI if it fines > /boot/efi or if --efi-directory is passed. I'm not so sure, but it's been a while since I played around with this. At least building the 'gnu/system/install.scm' image works fine when passing --efi-directory (see the bottom two patches from https://lists.gnu.org/archive/html/guix-devel/2016-12/txtchTym4QVKr.txt ), and I think it would choose i386-pc even if x86_64-efi was available since the VM boots in BIOS mode. Tangentially, I'm not aware of any way to build a "hybrid" ISO image using only grub. I've started work on packaging syslinux/isolinux which is what Debian uses for their hybrid UEFI/BIOS install image. > BTW, as far as I=E2=80=99m concerned, most of the other patches are ready: > > https://lists.gnu.org/archive/html/guix-devel/2016-11/msg00303.html > https://lists.gnu.org/archive/html/guix-devel/2016-11/msg00304.html > > Could you push them? Done. > The remaining issue is how to run fsck for vfat. > > Currently I still have a preference for something like what I suggested > at: > > https://lists.gnu.org/archive/html/guix-devel/2016-12/msg00095.html > > Thoughts? This approach looks better than the one I started working on. It's not clear to me how to pass the device to these procedures, or how 'check-file-system' will know which checker to use. We should try to have this in place before 0.13 :-) --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAlhWnvQACgkQoqBt8qM6 VPqTKQf/UH48MgXLGzMa+fhTbWJErjo3Igc25TwBM6926RyUX/mLaQK36uhS7iWQ wY4Q7Q2N/67CC/7inF5qmVx/6WS0vF9hxbQAIzct4pgmVEkd8eywuFU3NiZ1yChN NPq8jmC0q7s35Ro661vek2fJ1kl6YHxnVIreSAApVT9wIpvvGsLlUXvMaxmmTeLk 6v2pp3U9SFD4yZRpaiLyXc4cEBkExmBP4wXxe/5AHyLi+j7A2O3Otl2m68DB0T9p VRu50v8oul8xWbf6fSx/FrCa7iXqYXhKeGgCz41Ix8MkjS5tinTV8kPbf8i71oE2 5OXsVo17R3G4wwlGlJySl6lQQ7aJdg== =CtMX -----END PGP SIGNATURE----- --=-=-=--