[syslinux] Discard .note.gnu.property section to fix build failure (patch)

Thomas Schmitt scdbackup at gmx.net
Fri Nov 30 03:05:27 PST 2018


Ady wrote:
> Well, for booting in UEFI mode, the (0xEE and/or 0xEF and/or any other) 
> "legacy" partition(s) in the so-called "msdos partition table scheme" 
> (aka "protective MBR partition table) in the first sector is/are not 
> really essential but rather a UEFI "feature"

A Protective MBR partition table has one partion of type 0xEE and the
other three partition slots unused (all bytes set to value 0).
This table status is the magic number which announces presence of GPT.
EFI will look in GPT for the Type-GUID of the EFI System Partition.
(UEFI 2.4, 5.3.1 "GPT overview":
  "LBA 0 (i.e., the first logical block) contains a protective MBR"
 Protective MBR is specified in detail in section 5.2.3.
 UEFI is not just a use case of GPT. It indeed defines GPT.)

SYSLINUX program isohybrid with option --uefi does _not_ produce a
Protective MBR and thus the additionally produced GPT data are not
valid in the view of specs compliant software.

The EFI System Partition may as well be announced without GPT in a
classic MBR partition table.  This is the use case of partition type 0xEF.
(UEFI 2.4, 5.2.2.)

SYSLINUX program isohybrid with option --uefi produces such an MBR
partition entry. It leads EFI to the second El Torito boot image of the
ISO, which is supposed to be a FAT filesystem image for EFI.

Although no BIOS MBR program is needed for EFI, isohybrid --uefi will
currently fail to build without the hdp*.bin MBRs.

One could easily create six dummy files for inclusion in isohybrid.c.
But at runtime, isohybrid --uefi demands the existence of a first El Torito
boot image in the ISO, which it will skip. Any dummy could be problematic.

So isohybrid.c would need to learn a runtime mode without BIOS equipment,
before it makes sense to wean it off the hdp*.bin MBRs.

Have a nice day :)


More information about the Syslinux mailing list