[syslinux] Changes to get CD to boot on EFI System.

Thomas Schmitt scdbackup at gmx.net
Sat Apr 2 06:46:58 PDT 2016


Hi,

Didier Spaier wrote:
> http://slint.fr/testing/slint64-14.1_syslinux.6.03/slint64-14.1_syslinux.6.03.img

This looks like the content of an EFI system partition.
Exactly what i need for experiments. Thanks a lot.

(slint64-current-goofiboot.iso and slint64-current-efi-stub.iso
 were already in my collection.)

It boots to "Slint installer for Slackware64-14.1" by:

  qemu-system-x86_64 -enable-kvm -m 2048 \
                     -bios /usr/share/ovmf/OVMF.fd \
                     -hda slint64-14.1_syslinux.6.03.img


So i make it passenger in an ISO where it is marked as EFI El Torito
boot image:

  xorriso -as mkisofs -v -o slint64-14.1_syslinux.6.03_in.iso \
          -e slint64-14.1_syslinux.6.03.img -no-emul-boot \
          slint64-14.1_syslinux.6.03.img

which yields this sparse boot equipment:

  El Torito catalog  : 33  1
  El Torito cat path : /boot.catalog
  El Torito images   :   N  Pltf  B   Emul  Ld_seg  Hdpt  Ldsiz         LBA
  El Torito boot img :   1  UEFI  y   none  0x0000  0x00      0          34
  El Torito img path :   1  /slint64-14.1_syslinux.6.03.img

I try it out as virtual CD-ROM:

  qemu-system-x86_64 -enable-kvm -m 2048 \
                     -bios /usr/share/ovmf/OVMF.fd \
                     -cdrom slint64-14.1_syslinux.6.03_in.iso

OVMF comes up, reports 2 GB of memory, then comes a short flash of
black screen with a one-line message which might begin by "Graphics".
Underneath is an underscore. Within a tiny fraction of a second, OVMF
starts up again. This repeats endlessly.
The message is only rarely visible and then very dimly. The underscore
is visible quite well with each cycle.

As next try, i gave the ISO a GPT pointing to the partition image:

  xorriso -as mkisofs -v -o slint64-14.1_syslinux.6.03_in.iso \
          -e slint64-14.1_syslinux.6.03.img -no-emul-boot \
          -efi-boot-part --efi-boot-image --protective-msdos-label \
          slint64-14.1_syslinux.6.03.img

yields

  El Torito catalog  : 20838  1
  El Torito cat path : /boot.catalog
  El Torito images   :   N  Pltf  B   Emul  Ld_seg  Hdpt  Ldsiz         LBA
  El Torito boot img :   1  UEFI  y   none  0x0000  0x00      0          32
  El Torito img path :   1  /slint64-14.1_syslinux.6.03.img
  ...
  MBR partition table:   N Status  Type        Start       Blocks
  MBR partition      :   1   0x00  0xee            1        84019
  GPT                :   N  Info
  ...
  GPT partname local :   1  Gap0
  GPT start and size :   1  64  64
  ...
  GPT partname local :   2  EFI boot partition
  GPT type GUID      :   2  28732ac11ff8d211ba4b00a0c93ec93b
  GPT start and size :   2  128  83220
  GPT partition path :   2  /slint64-14.1_syslinux.6.03.img
  ...
  GPT partname local :   3  Gap1
  GPT start and size :   3  83348  608


The behavior with qemu -cdrom is not much different from without
GPT. But the time interval of black screen lasts nearly a second.
The message and cursor appear at the end of that time and
vanish very quickly.

If i run this GPT-enhanced ISO as virtual HD, i get to the
Slint Installer as with the naked slint64-14.1_syslinux.6.03.img

  qemu-system-x86_64 -enable-kvm -m 2048 \
                     -bios /usr/share/ovmf/OVMF.fd \
                     -hda slint64-14.1_syslinux.6.03_in.iso

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

Given the endless reboot with -cdrom and the success with -hda,
i guess that SYSLINUX is already unhappy with the media type and
does not look for partitions or filesystems before it bails out.

(But why does the presence of the GPT enlarge the time of black
 screen ?)

So it looks like the idea about SYSLINUX+Linux in EFI System
Partition is quite dead for now because of a CD-ROM allergy
in SYSLINUX EFI software.


Have a nice day :)

Thomas



More information about the Syslinux mailing list