[syslinux] syslinux mkisofs hard-disk-boot isohybrid

Pascal patatetom at gmail.com
Thu Dec 22 23:50:58 PST 2016


Le jeudi 22 décembre 2016, Ady Ady via Syslinux <syslinux at zytor.com> a
écrit :

>
> > Hi,
> >
> > Didier Spaier wrote:
> > > The issue is the inability of booting of a *physical* (not virtual)
> optical
> > > media, like for instance a DVD or a CD, using syslinux.efi.
> >
> > Actually firmware cannot find any UEFI specified booting starting points
> > in an ISO 9660 filesystem that was created with mkisofs -b and
> > -hard-disk-boot, but without a boot image which was marked as EFI System
> > Partition.
> >
> > The boot success with UEFI and -cdrom must have other reasons. I suspect
> > the BIOS emulation of the firmware.
> >
> >
> > About SYSLINUX EFI:
> >
> > Do we really have confirmed examples where SYSLINUX EFI software works
> > from qemu DVD-ROM ? Decisive test would be to make an ISO which offers
> > no El Torito boot image for BIOS, but only an EFI System Partition image
> as
> > El Torito boot image for Platform Id 0xef. In that partiton image there
> > would have to be SYSLINUX stuff - not GRUB or a directly bootable kernel.
> >
> > Why i doubt:
> >
> > When it comes to reading data, there should be no perceivable difference
> > between a real optical drive at a real computer and the virtual DVD-ROM
> > of qemu. Both get operated in the end by SCSI commands.
> >
> > Of course there could be some driver shortage in SYSLINUX which does not
> > show up with qemu DVD-ROM but prevents use of modern hardware. But i
> > understand that EFI itself is a little operating system, which is
> supposed
> > to operate hardware, and that SYSLINUX EFI software uses the API of EFI
> > to perform its hardware operations.
> >
> >
> > Have a nice day :)
> >
> > Thomas
> >
>
>
> I almost fell into the "trap" (yet again) of replying with several
> comments to every single email in this email thread that was posted
> after my last one. Considering that the topic of syslinux.efi and
> optical media (and/or dd'ing such iso images to a USB device) has been
> mostly ignored by relevant Syslinux developer(s) in the past, I decided
> to avoid such waste of my time. (Additionally, my tolerance for
> top-posting is getting smaller and smaller; sadly, I am getting older
> and grumpier).
>
> @Thomas, yes, I performed a similar test "successfully".
>
> I created a 30MiB HDD image, MBR plus one partition, flagged as both
> "boot" and "esp", FAT16.
>
> The FAT16 partition includes "/EFI/BOOT/" and within it the relevant
> syslinux.efi-related files (with the EFI bootloader renamed to the
> default "BOOT<arch_type>.EFI" naming).
>
> Based on this HDD image, I created an ISO image, iso9660 only (no fs
> extensions, no UDF). The iso9660 filesystem is actually empty (I added
> no files). I set the ISO image to be bootable with El Torito *HDD
> emulation* - please keep reading, and then see [1] below - and for the
> UEFI platform only (no BIOS part).


I've the same hdd image structure : 11Mb with vmlinuz and core.gz (from
TinyCoreLinux) in /boot/ folder and syslinux.cfg well configured.


>
> I attached the resulting ISO image to a VirtualBox VM set to boot in
> (U)EFI mode. No other (virtual) storage was attached to the VM. The VM
> successfully boots this virtual optical media, arriving to the
> syslinux.efi boot prompt. From the boot prompt, I did not attempt to
> boot any kernel, but I successfully executed a couple of c32 modules,
> then returning back to the boot prompt.


my iso image boots in cdrom/bios+uefi and in hda/uefi and TCL runs
perfectly.


>
> Additional comments about this test:
>
> _ This was a relatively quick dirty test. For several reasons, the
> whole procedure was performed under a Windows OS with GUI tools. I am
> hoping that whoever would want to replicate it under a different OS
> using command-line tools, will be able to figure it out.


for me, all was done under Linux (archlinux up to date).


>
> _ The size of the HDD image was purposely smaller than 32 MiB, so to
> reduce potential conflicts with size limitations in El Torito / UEFI
> specs. Someone else might be willing to test with bigger images.
>
> _ Someone else might be willing to perform a similar test while also
> adding a BIOS part to the boot catalog (instead of only using the UEFI
> platform).
>
> _ Syslinux 6.04-pre1 can only access the boot volume alone, therefore
> only the content of the HDD image (i.e. El Torito HDD emulation image)
> can be seen from syslinux.efi. In other words, syslinux.efi can't
> access the content of the iso9660 data area.
>
> [1]:
> _ Please note that the UEFI specs state that the EFI System Partition
> stored in the boot catalog is supposed to be stored as "no emulation"
> mode. Although I explicitly set the emulation mode to HDD and the
> platform to UEFI when creating the ISO image, the (U)EFI firmware in
> VirtualBox had no complains and used the HDD image to boot in UEFI
> mode. This is one of the reasons I am of the opinion that some
> restrictions "imposed" by ISO-building tools should be relaxed (as in,
> "advice correctness but allow deviations when the user chooses to do
> so").
>
> Now, is there any OS (e.g. Linux) distribution that is willing to use
> this method for booting in UEFI mode? Is there anyone that is willing
> to chose this method to boot optical media in UEFI mode? Is there
> anyone that is willing to add more options and alternatives to
> isohybrid (because we all know that this is going to be the first
> immediate request)? I think I have read more than once that "patches
> are welcome". Hmm...
>
> Regards,
> Ady.
>
> > _______________________________________________
> > Syslinux mailing list
> > Submissions to Syslinux at zytor.com <javascript:;>
> > Unsubscribe or set options at:
> > http://www.zytor.com/mailman/listinfo/syslinux
>
>
>
> _______________________________________________
> Syslinux mailing list
> Submissions to Syslinux at zytor.com <javascript:;>
> Unsubscribe or set options at:
> http://www.zytor.com/mailman/listinfo/syslinux
>


More information about the Syslinux mailing list