User:Pjones/MacCDsForEFI

From FedoraProject

< User:Pjones
Revision as of 17:20, 21 July 2011 by Pjones (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Bootable EFI CDs on Intel Macs

Bootable EFI CDs on an Intel Mac are a bit different than a normal EFI CD. As such, they need special support.

What's needed

  • HFS+ support for blessing a file
  • make dumpet correctly interpet and display hybrid iso/apm CDs and HFS+ blessing
  • Ability to create image files for the icon and label to be used on the boot option screen
  • Ability to create CD that has el torito images as well as an Apple Partition Map which specifies the HFS+ image as a partition.
  • icon/label images included in *-logos
  • modification of mk-images to create the appropriate HFS+ image and add it to CD images.

Current Status

Sub-task Percent Complete Notes
HFS+ bless 100 Apparently we can do this now. Two bytes in the HFS+ superblock need to be set to point to the inode of the appropriate file, which can be determined with ls -i. Code written (http://www.codon.org.uk/~mjg59/bless.c)
icons 0 We know how to create them. generic-logos has a sample implementation and builds the Mac icon (/usr/share/pixmaps/bootloader/fedora.icns) and this should be installed as .VolumeIcon.icns
dumpet modification 30 pjones working on this - progress info at http://git.fedorahosted.org/git/?p=dumpet.git
create hybrid APM CDs 0 pjones working on this - plan is to make mkisofs use libapplepart provided by dumpet
*-logos 0
mk-images 0 blocking on stuff above
isohybrid integration 0 the plan for this is insane - basically, it's to pick a creative value which decodes to benign x86 insns for the volume size in the apple partition map, and stick a jmp into the next field, then stick the actual isohybrid code a bit later where we've got some space.

Alternate Approach

There's also another way:

  • Put a GPT table on the CD
  • Create an EFI System Partition that points at the El Torito image
  • copy /usr/share/pixmaps/bootloader/fedora.icns to \.VolumeIcon.icns
  • Put a label file at \{somefile}
  • Make sure the bootloader looks at the iso9660 image instead of El Torito or the EFI System Partition.