Comment 6 for bug 702283

Revision history for this message
Evan Broder (broder) wrote :

If I understood mjg59's posts on EFI correctly, you don't actually need the hybrid monstrosity to support EFI. Several of the more insidious features of the mjg59's hybrid were only needed to support the scenario where you directly dd an ISO onto a USB drive.

In fact, based on some quick experimentation with my UEFI-enabled laptop (a ThinkPad T420), the Ubuntu ISOs we're generating now support 64-bit UEFI firmwares, even after being run through usb-creator. Specifically:

 - The build process generates a FAT32 filesystem image at boot/grub/efi.img which contains a efi/boot/bootx64.efi file, and points a secondary El Torito record at that image with PlatformId 0xEF. This enables UEFI-bootable CDs

 - The build process also generates a efi/boot/bootx64.efi, which usb-creator will copy onto the FAT32 filesystem it creates on USB drives, which is sufficient to make a removable USB drive UEFI-bootable

Remaining issues:

 - The FAT32 partition created by usb-creator won't have a partition type of 0xEF, so some firmwares may not identify it as a UEFI system partition and may not look for the bootloader there. My UEFI laptop doesn't have this problem, but I have a sample size of 1 to work off of.

 - Some (64-bit) Apple machines have a 32-bit EFI firmware. Since the Ubuntu CDs don't include an efi/boot/bootia32.efi (either directly or in the El Torito image), these machines won't recognize them. It would be easy to add the 32-bit image, but we'd need to find an extra megabyte of space or so, since the image contains 2 copies of the firmware.

 - Some *really* old Macs don't use El Torito for CDs at all, and instead look for an Apple partition map. This is the point you have to start pulling in some of mjg59's monstrosity to create CD images that boot on those machines. Personally, I'm not convinced the effort to reward payout is there, since we're talking about fairly old machines at this point, but I tend to be more conservative on that sort of thing.

The original report also mentioned the CR-48. These, too, are a special case, because they will only ever boot off of external media signed by Google, so nothing we can do will make USB sticks that will boot on those.