I finally got this to work. The only real requirement for this to work
is the the a boot partition that is FAT32 was exist for the Mac EFI
firmware to see and that this partition must contain the fake
mach_kernel file and a System/Library/CoreServices/SystemVersion.plist
file containing...

<xml version="1.0" encoding="utf-8"?>
<plist version="1.0">
<dict>
    <key>ProductBuildVersion</key>
    <string></string>
    <key>ProductName</key>
    <string>Linux</string>
    <key>ProductVersion</key>
    <string>Arch Linux</string>
</dict>
</plist>

The Fedora installer automatically places those files on their installed
/boot partition which is why they produce an installation on Macs which
is bootable. I was able to reproduce this with the Debian Jessie multi-
arch installer (debian-8.6.0-amd64-i386-netinst.iso) which is required
for the MacBook Pro 2,1's EFI-32 firmware. Ubuntu needs to use that
approach for their next release. It is described at
https://wiki.debian.org/UEFI

Support for mixed-mode systems: 64-bit system with 32-bit UEFI
Some systems have been released containing 64-bit Intel Atom CPUs (such as the 
Bay Trail), but unfortunately use 32-bit UEFI firmware with no BIOS 
compatibility mode. Using the 32-bit UEFI x86 support, an i386 installation 
should be possible on these machines but it won't make the most of the 64-bit 
hardware.

Debian Jessie (8.0) was the first Linux distribution to include full
support for mixed-mode UEFI installation on these machines. The multi-
arch installation media (available in netinst and DVD form) include the
UEFI boot loaders necessary for both i386 and amd64 boot. By selecting
"64-bit install" from the initial boot menu, debian-installer will
install a 64-bit (amd64) version of Debian. The system will
automatically detect that the underlying UEFI firmware is 32-bit and
will install the appropriate version of grub-efi to work with it.

The Debian Jessie required the mach_kernel and  file to be placed at
/boot/efi however because their installer mounts the FAT32 boot
partition at the /boot/efi directory level rather than at the /boot
level like Fedora.

Note that there appears to be no require to place a boot.efi file at the
System/Library/CoreServices directory level as described elsewhere on
the net. I suspect that requirement is only present if you use a HFS+
filesystem for the boot partition. However that approach requires that
the System/Library/CoreServices/SystemVersion.plist file be explicitly
blessed with hfs-bless from the mactel-boot package. This is and the
requirement for Journaling to be disabled on the HFS+ volume for the
Apple diskutil program makes it more onerous to implement than the
simplier FAT32 approach.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1647184

Title:
  Ubuntu should install mach_kernel and System directory in boot/EFI
  like Fedora 24 and fallback.efi for EFI-32

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1647184/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to