[syslinux] Isohybrid wiki page and UEFI

Ady ady-sf at hotmail.com
Mon Apr 6 11:57:02 PDT 2015


> Hi,
> 
> Ady wrote:
> > This could be misinterpreted by some users as: "if 
> > you want to build an isohybrid image, then you cannot use 
> > 'syslinux.efi'". This would be incorrect.
> 
> I don't know whether syslinux.efi can be used for booting
> from ISO 9660 via UEFI. Currently there is no example
> around which would succeed without GRUB or GRUB2.
 
I don't know how many times I have to express this and in how many 
different ways: 'syslinux.efi v.6.03 cannot be used for booting from 
ISO9660 via UEFI.

Can 'syslinux.efi' be included in an isohybrid image?
 Yes, for example as 'EFI/BOOT/BOOTX64.EFI'.

Can such isohybrid image be burned to optical media?
 Yes.

Can such optical media boot a BIOS system?
 Yes, for example if 'isolinux.bin' was used as bootloader when 
building the image. Additional conditions might be required.

Can such optical media boot a UEFI system in UEFI mode?
 By means of 'syslinux.efi' v.6.03, no, it can not.

Can the isohybrid image be dd'ed to a (USB flash) drive?
 Yes. Let's call it UFD1.

Can UFD1 boot a BIOS system?
 Yes, for example if 'isolinux.bin' was used as bootloader when 
building the image. Additional conditions might be required, such as 
adequate isohybrid options.

Can UFD1 boot a UEFI system in UEFI mode?
 By means of 'syslinux.efi' v.6.03, no, it can not.

Can the content of the isohybrid image be _copied_ (as opposed to 
dd'ed) to a (USB flash) drive?
 Yes. Let's call it UFD2.

If UFD2 was previously formatted with a FAT file system (before copying 
the content of the isohybrid image), can UFD2 boot a BIOS system?
 Yes; install mbr.bin, set the "boot" flag to the FAT partition and 
install SYSLINUX to it.

Can UFD2 boot a UEFI system in UEFI mode?
 Yes. Use a GPT partition scheme (instead of the traditional MBR 
scheme) and a FAT partition. Then _copy_ (as oppose to dd'ing) the 
content of the isohybrid image to this FAT partition. Having already 
'syslinux.efi' included in the original isohybrid image (as 
'EFI/BOOT/BOOTX64.EFI' for UEFI x86_64 firmware) means that a FAT 
partition in a GPT drive can be used as "ESP", with 'syslinux.efi' as 
default UEFI bootloader of this device for UEFI x86_64 systems.

Can the same UFD2 boot either a UEFI system or a BIOS one?
 Yes, using 'gptmbr.bin' and combining both methods of installation for 
Syslinux.

Are every-and-all (U)EFI systems bootable by a UEFI bootloader located 
in any "ESP"?
 No. There are general recommendations, based on experience. But there 
are also buggy firmware, non-standard firmware, intentional 
customizations...

Is _any_ FAT volume a valid "ESP" in any-and-every case / hardware?
 No. There are some exceptions (intentional or not), but in time they 
should be fewer and fewer.

Are there filesystems other than FAT that can be "ESP"?
 According to the UEFI specs, yes. In practice and as a general rule, 
this possibility should not be blindly trusted.

Are there systems in which a FAT volume is not accepted as "ESP"?
 Yes, but in time they should be fewer and fewer. Please don't ask here 
for more info about such systems.

Are there any additional conditions necessary to succeed in any of the 
above scenarios?
 Yes. These are _not_ detailed step-by-step "HowTos", and I currently 
have no intention to write them either. The Syslinux wiki has more than 
100 pages; among others:
 http://www.syslinux.org/wiki/index.php/Install 

Are the ISO image building tools (e.g. mksiofs, genisoimage, 
xorriso...) related to so-called "efiboot.img" files?
 Yes, in a similar way that they are related to any "El Torito" image.

Is the isohybrid tool (in any of its variants) related to so-called 
"efiboot.img" files?
 Yes, in a similar way that the isohybrid tool is related to any "El 
Torito" image.

Is the isohybrid tool responsible of generating / building / 
constructing / filling the content of an "efiboot.img" image?
 No.

How a user creates an "efiboot.img" image file?
 The user should consult the documentation of the respective 
bootloader. Syslinux, as of v.6.03, has nothing to do with any 
so-called "efiboot.img".

Once an "efiboot.img" is created, how is it used?
 The user should consult the documentation of the specific ISO-building 
tool in use, just as the same documentation is needed for any "El 
Torito" boot image.

Is "efiboot.img" used / needed by every UEFI bootloader?
 No. There are certain bootloaders for certain OSes that are capable of 
booting optical media in UEFI mode and are not using so-called 
"efiboot.img" files. There are also UEFI bootloaders that are _not_ 
capable of booting ISO9660 file systems in UEFI mode, with or without 
so-called "efiboot.img" (it doesn't help); 'syslinux.efi' v.6.03 is one 
of the latter.


So, again, is there any use for 'syslinux.efi' v.6.03 in an isohybrid 
image?
 Yes.

Can 'syslinux.efi' v.6.03 boot some media formatted with ISO9660?
 Not at this time, no.

If a user has an isohybrid image and pretends to boot a UEFI system in 
UEFI mode with 'syslinux.efi' v.6.03, is dd'ing this isohybrid image on 
a (USB) drive a useful method?
 No.

Hmm, but dd'ing isohybrid images is so simple...!
 You have the freedom to waste your time.

Are there any kind of images that can be dd'ed to a (USB) drive and 
that the resulting drive will be capable of using 'syslinux.efi' to 
boot a UEFI x86_64 system in UEFI mode?
 Images of a FAT volume in a GPT partitioning scheme already containing 
'syslinux.efi' as 'EFI/BOOT/BOOTX64.EFI' (and related files).

Should users attempt to build so-called "efiboot.img" files with 
'syslinux.efi' v.6.03 in it for ISO(hybrid) images?
 No, there is no use; 'syslinux.efi' v.6.03 doesn't know what to do 
with it.

What about users putting 'syslinux.efi' v.6.03 inside the "efiboot.img" 
file?
 They are free to waste their time.

And if users rename 'syslinux.efi' v.6.03 to '/EFI/BOOT/BOOTX64.EFI" 
inside the "efiboot.img", can it be used?
 It only occupies space; nothing very useful.

 
> 
> When describing the UEFI aspects of isohybrid in the wiki,
> i left this question open in the hope that somebody would
> show a pure SYSLINUX example of UEFI isohybrid.
> 
> The questions of piranna were not the first time that we
> had to explain our non-knowledge around ISOLINUX and UEFI.
> The wiki needs clarification.
 
 
For UEFI mode, there is 'syslinux.efi'. As of v.6.03, there are 
variants of 'syslinux.efi' for UEFI IA32 and for UEFI x86_64.

As of v.6.03, there is no such thing as ISOLINUX for UEFI mode.

If there are users asking whether there are other things for UEFI in 
The Syslinux Project as of version 6.03, the answer is: no.

As of version 6.03, there is no "memdisk" for UEFI, and many popular 
c32 modules are currently for BIOS / CSM only, not UEFI.

As of version 6.03, 'syslinux.efi' doesn't know yet how to chainload to 
other EFI binaries.

Oh, and before I forget, if there is someone out there asking whether 
there is "chicken", "beef", or "veggies" for UEFI in The Syslinux 
Project, the answer is no :).

Generally speaking, the documentation includes what The Syslinux 
Project does. Sadly, some documentation might be outdated, or even 
incorrect in some case (although some few of us try to reduce such 
instances). Adding documentation about what The Syslinux Project cannot 
do would be nice, but realistically... Permanently maintaining such 
kind of documentation in a coherent way and in a timely manner could 
potentially produce more misunderstandings too.

At some point, some responsibility must fall onto users' hands. The 
Syslinux Project cannot overcome by itself the amount of misinformation 
about Syslinux, booting, BIOS, UEFI and other bootloaders in general; 
simply there are not enough resources.
 
 
> 
> 
> > I am still of the opinion that the whole FAT "efiboot.img" issue is not 
> > about _isohybrid_, but about how GRUB2 does it.
> 
> It is about what UEFI expects (without an UEFI boot manager
> like rEFInd involved). It wants an UEFI image, i.e. a *.efi
> file. Its own means of finding it are the EFI System
> Partitions of the devices, the NVRAM variables (e.g.
> manipulated by efibootmgr(8)), and the fallback paths
> (e.g. /efi/boot/bootx64.efi).
 
 
 
Since GRUB2 is currently using "efiboot.img" files, IMHO additional 
documentation about such images could/should be originated in/by GRUB2.
 
 
> 
> 
> > In fact, the UEFI specs are not very clear for common users about the 
> > "no-emulation" part
> 
> You mean "no emulation" in the sense of El Torito ?
> (As opposed to "1.2 MB diskette", "1.44 MB diskette",
> "2.88 MB diskette", and "hard disk drive".)
> 
> This will not be noted by EFI from USB stick. Only with
> EFI from CD-ROM (and DVD or BD).
 
 
The "efiboot.img" file is the (equivalent of) "El Torito" image for 
UEFI used by GRUB2, so it is also relevant for a USB stick dd'ed with 
an adequately-built isohybrid image.
 
 
> I assume most EFI implementations ignore the Boot Media
> Type fields in the El Torito boot catalog and only look
> for Platform ID 0xef.
> 
> In UEFI specs, El Torito just serves as substitute for
> a partition table. 
> 
> 
> > a superfloppy image,
> 
> It's more like a twenty years old hard disk.
> UEFI 2.6, 12.3 "File System Format":
> "EFI encompasses the use of FAT32 for a system partition
>  [...] The definition of the EFI file system will be
>  maintained by specification and will not evolve over
>  time to deal with errata [...]"
 
 
No, "efiboot.img" has no partition table inside it. It is a FAT volume. 
I called it a "superfloppy" because of its total size, usually bigger 
than a 2880KiB.

(OT: "El Torito floppy emulation" accepts bigger sizes than 2880KiB, 
but that's a completely different matter and has nothing to do with 
this email thread.)
 
 
> 
> When used with El Torito, the image should not be larger
> than 32 MiB. That's because the Sector Count fields in
> the boot catalog have only 16 bits.
> 
> 
> > Regarding the characteristics of GRUB2's "efiboot.img", that's about 
> > GRUB2, not isohybrid. If a day comes when such image (type) is relevant 
> > for Syslinux, the discussion of its characteristics might be relevant 
> > then.
> 
> Well, since all traditional users of ISOLINUX isohybrid enhance
> their ISO production by a FAT image, modules, and configuration
> from GRUB or GRUB2, in order to make use of isohybrid option --uefi
> ... i would say it is relevant.
 
 
See my prior comments in this same email.
 
 
> 
> Anybody show me a pure SYSLINUX isohybrid ISO that boots via EFI
> and i will be able to dissect it and hopefully derive knowledge
> for the wiki.
 
See my prior comments in this same email.
 
> 
> 
> Have a nice day :)
> 
> Thomas
> 
 
Now I shall put UEFI matters aside for some time 8-P. Where are those 
nice ol' 8086 without HDD when one needs them :).

Regards,
Ady.
 
> _______________________________________________
> Syslinux mailing list
> Submissions to Syslinux at zytor.com
> Unsubscribe or set options at:
> http://www.zytor.com/mailman/listinfo/syslinux
> 




More information about the Syslinux mailing list