Ludovic Courtès <l...@gnu.org> writes:

> Hi Marius,
>
> Marius Bakke <mba...@fastmail.com> skribis:
>
>> Ludovic Courtès <l...@gnu.org> 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’t quite get.  Apparently you’re supposed to
>>>>> have a /boot/efi as a vfat partition, and ‘grub-install’ is supposed to
>>>>> detect it and install the EFI stuff, or so I thought (info "(grub)
>>>>> Installing GRUB using grub-install").
>>>>>
>>>>> However, ‘grub-install’ still seems to be installing for “i386-pc”
>>>>> 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.
>
> OK.
>
> Having checked GRUB’s configure.ac etc., I realize that my suggestion of
> having one ‘grub’ package doing both EFI and “PC” cannot work.  What you
> suggested initially (a separate ‘grub-efi’ package) is the only thing we
> can do (we could perhaps merge the lib/grub directories as you
> suggested, but it’s not even clear that this would work.)
>
> Thus, I think we need to revert 3eee16130d858ae96510ec1c7d38d31290de2699
> and install your initial ‘grub-efi’ patch.  How does that sound?

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.

Attachment: signature.asc
Description: PGP signature

Reply via email to