[syslinux] isohybrid: slint64-14.1.iso: unable to find mac efi image

Thomas Schmitt scdbackup at gmx.net
Tue Jul 29 14:19:21 PDT 2014


Hi,

Didier Spaier:
> I uploaded both ISO images on http://slint.fr/misc/MacBoot

A good opportunity to brag with xorriso's boot inspection
features (since xorriso-1.3.8):

  xorriso -indev slint64-14.1-Thomas_mkisofs.iso \
          -report_el_torito plain \
          -report_system_area plain

yields (block size is 2048):
  
  El Torito images   :   N  Pltf  B   Emul  Ld_seg  Hdpt  Ldsiz         LBA
  El Torito boot img :   1  BIOS  y   none  0x0000  0x00      4         767
  El Torito boot img :   2  UEFI  y   none  0x0000  0x00   2880          47
  El Torito boot img :   3  UEFI  y   none  0x0000  0x00   5472         779
  El Torito img path :   1  /isolinux/isolinux.bin
  El Torito img opts :   1  boot-info-table isohybrid-suitable
  El Torito img path :   2  /isolinux/efiboot.img
  El Torito img path :   3  /isolinux/macboot.img

So El Torito is now as expected by isohybrid.c, which added to the
ISO image an MBR, a GPT, and an Apple Partition Map.

The MBR partitions are (block size is 512):

  MBR partition table:   N Status  Type        Start       Blocks
  MBR partition      :   1   0x80  0x00            0       155648
  MBR partition      :   2   0x00  0xef          188         2880
  MBR partition      :   3   0x00  0x00         3116         5472
  MBR partition path :   2  /isolinux/efiboot.img
  MBR partition path :   3  /isolinux/macboot.img

Some UEFI systems and especially "Macs" boot via this MBR.
But only if no GPT is present.

Whatever, we get the proof that this image was treated by
classic isohybrid.c without my recent bug fix proposals:

  GPT backup problems:      Implausible header LBA 155646
  ...
  GPT partition name :   1  49534f4879627269642049534f0049534f487962726964004170706c

Nevertheless, both non-BIOS images are mentioned in GPT
(block size 512):

  GPT start and size :   2  188  2880
  GPT partition path :   2  /isolinux/efiboot.img
  ...
  GPT start and size :   3  3116  5472
  GPT partition path :   3  /isolinux/macboot.img

They also are mentioned in an Apple Partition Map (block size 2048):

  APM start and size :   1  47  2880
  APM partition path :   1  /isolinux/efiboot.img
  ...
  APM start and size :   2  779  5472
  APM partition path :   2  /isolinux/macboot.img

This resembles much the equipment of Fedora Live ISOs.
(Including the size numbers which are too large by a factor of 4.)

-------------------------------------------------------------------

  xorriso -indev slint64-14.1-Thomas_xorriso.iso \
          -report_el_torito plain \
          -report_system_area plain

shows that xorriso avoids some of the classic isohybrid.c flaws.
Elsewise the result is quite similar:

  El Torito images   :   N  Pltf  B   Emul  Ld_seg  Hdpt  Ldsiz         LBA
  El Torito boot img :   1  BIOS  y   none  0x0000  0x00      4          43
  El Torito boot img :   2  UEFI  y   none  0x0000  0x00   2880          55
  El Torito boot img :   3  UEFI  y   none  0x0000  0x00   5472         775
  El Torito img path :   1  /isolinux/isolinux.bin
  El Torito img opts :   1  boot-info-table isohybrid-suitable
  El Torito img path :   2  /isolinux/efiboot.img
  El Torito img path :   3  /isolinux/macboot.img
  ...
  MBR partition table:   N Status  Type        Start       Blocks
  MBR partition      :   1   0x80  0x00            0       155648
  MBR partition      :   2   0x00  0xef          220         2880
  MBR partition      :   3   0x00  0x00         3100         5472
  MBR partition path :   2  /isolinux/efiboot.img
  MBR partition path :   3  /isolinux/macboot.img
  ...
  GPT partition name :   1  490053004f00480079006200720069006400
  GPT partname local :   1  ISOHybrid
  ...
  GPT start and size :   2  220  2880
  GPT partition path :   2  /isolinux/efiboot.img
  ...
  GPT start and size :   3  3100  5472
  GPT partition path :   3  /isolinux/macboot.img
  ...
  APM partition name :   1  EFI
  APM partition type :   1  Apple_HFS
  APM start and size :   1  775  1368
  APM partition path :   1  /isolinux/macboot.img

I forgot to advise (or misadvise) -isohybrid-apm-hfsplus with
the image /isolinux/efiboot.img . So we only got one APM
partition here. A slight deviation from mjg59's layout.

It is a lie to give efiboot.img the partition type Apple_HFS.
isohybrid.c does it that way. So the perfect mimic would be
    -e isolinux/efiboot.img  \
    -isohybrid-gpt-basdat -isohybrid-apm-hfsplus \
instead of
    -e isolinux/efiboot.img  \
    -isohybrid-gpt-basdat \

-------------------------------------------------------------------

Your are back on the track blazed by Fedora Live.

Again: Be aware that Colin Watson reports that such MBR+GPT
hybrids do not boot on some Macs and amd64 PCs.
Ubuntu therefore has alternative "Mac" ISOs with El Torito
and MBR only. (I.e. no -u -m, no -isohybrid-gpt-basdat
-isohybrid-apm-hfsplus -isohybrid-gpt-hfsplus.)

> Meanwhile, if one of you happens to have a Mac at hand

This seems to be the biggest obstacle with Mac booting: No Mac.


Have a nice day :)

Thomas



More information about the Syslinux mailing list