[syslinux] Isohybrid wiki page and UEFI

Thomas Schmitt scdbackup at gmx.net
Fri Oct 23 13:03:27 PDT 2015


Ady wrote:
> Is this "32MiB" a limitation related to the UEFI specs in any way? Or 
> is it relevant for BIOS (non-EFI) too?

It comes from El Torito specs which are referred to by UEFI 2.4
specs. In EL Torito 1.0, Figures 3 and 5, "Sector Count" is a 2-byte
"Word". So it can count up to 65535.
Sector count gives the number of "virtual/emulated sectors".
Paragraph 1.5. defines "Virtual Sector" as "200 byte", where
"200" is to be read as hexadecimal number. Decimal 512.
(It also calls CD-ROM sector size "800" which is fixly decimal 2048.)

65535 * 512 bytes = 32 MiB - 512 bytes.

In UEFI 2.4, paragraph "ISO-9660 and El Torito" says:

 "IS0-9660 is the industry standard low level format used on CD-ROM
  and DVD-ROM. The CD-ROM format is completely described by the
  “El Torito” Bootable CD-ROM Format Specification Version 1.0.
  To boot from a CD-ROM or DVD-ROM in the boot services environment,
  an EFI System partition is stored in a “no emulation” mode [image]
  as defined by the “El Torito” specification. A Platform ID of 0xEF
  indicates an EFI System Partition. [...]
  EFI differs from “El Torito” “no emulation” mode [as of BIOS]
  in that it does not load the “no emulation” image into memory and
  jump to it.
  EFI interprets the “no emulation” image as an EFI system partition.
  EFI interprets the Sector Count in the Initial/Default Entry
  [El Torito Figure 3] or the Section Header Entry [meant is Figure 5]
  to be the size of the EFI system partition. If the value of
  Sector Count is set to 0 or 1, EFI will assume the system partition
  consumes the space from the beginning of the “no emulation” image
  to the end of the CD-ROM.

(I added own comments in []-brackets. Hopefully a new version is
 out meanwhile with less bugs in the wording. Especially misleading
 is the confusion of El Torito Figure 4 "Section Header Entry",
 which has no Sector Count, with Figure 5 "Section Entry".
 To characterize the boot add-on El Torito as complete description
 of "CD-ROM format" is a sign of double ignorance.)

> Is this limitation related to the El Torito "emulation" methods/types 
> (01/02/03)?

EFI expects 0 "no emulation", although 4 "hard disk" would have
been an obvious choice, too.
But probably they wanted to avoid the need for partition table
interpretation inside the EFI System Partition.

> Is this limitation also valid / relevant for the first/default entry in 
> the Boot Catalog?

All entries which describe a boot image have that field of 2 bytes.
(There are also header entries which describe catalog sections.)

> Would you please clarify the meaning of your qualifier, "_soft_ size 
> limit"?

The option to write size 0 or 1 is a fallback, which gives up
the goal to exactly mark the end of the EFI System Partition.
So i consider it preferrable to be able to express the true
partition size, which is possible only with FAT images below
32 MiB.

Whether the "up-to-the-end" sizes 0 and 1 are properly interpreted
by really existing firmware will have to be tested.
The first user who has reason for such a large EFI System Partition
is invited to ask for a development snapshot of GNU xorriso.

Have a nice day :)


More information about the Syslinux mailing list