On Jan 29, 2013, at 8:15 PM, Chris Murphy <lists(a)colorremedies.com> wrote:
The Fedora prebaked grubx64.efi doesn't include all GRUB modules (e.g. lvm, xnu) and
it isn't looking for standalone GRUB modules in the location that grub2-install can
install them into. And anaconda doesn't call grub2-install on UEFI computers.
As a consequence of grubx64.efi not containing all GRUB modules, and also not having
access to standalone ones:
UEFI installs can't boot from boot on an LV. Anaconda allows it on both BIOS and UEFI,
it works on BIOS installs, but fails on UEFI installs with a GRUB error:
error: file '/EFI/fedora/x86_64-efi/lvm.mod' not found.
Anaconda calls grub2-mkconfig, which on Macs containing OS will creating OS X boot entries
in the GRUB menu. These don't work because the grub.cfg calls for xnu modules, which
aren't baked in, and can't be found standalone.
Last week I asked upstream GRUB devel about where the GRUB modules and grub.cfg are
supposed to go, if they can go on the ESP, and I merely got a cranky vague answer about
distributions doing custom and unsupportable things and it's not their problem.
The gist appears to be they expect grub2-install to be run on each computer, which of
course isn't workable with Secure Boot. But in addition, grub2-install only installs
to $prefix/grub2, but that's not the prefix the Fedora prebaked grubx64.efi uses. And
on Macs, mactel-boot uses HFS+ for /boot/efi, and grub2-install won't install anything
to an HFS+ ESP.
So it's sort of a mess.