From Fedora Project Wiki

< User:Pjones

Revision as of 17:20, 21 July 2011 by Pjones (talk | contribs) (→‎Alternate Approach)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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.