[syslinux] Boot fails in a VMware player VM - syslinux 6.03

Didier Spaier didier.spaier at epsm.fr
Mon Nov 10 14:22:54 PST 2014


On 10/11/2014 10:46, Thomas Schmitt wrote:
 > Hi,
 >
 > i downloaded
 >   http://slint.fr/misc/testing/slint64-14.1_syslinux.6.03.iso
 >
 > Inspection by xorriso-1.3.8:
 >
 >   xorriso -indev slint64-14.1_syslinux.6.03.iso \
 >           -report_el_torito plain \
 >           -report_system_area plain
 >
 > yields
 >
 >   El Torito catalog  : 46  1
 >   El Torito cat path : /isolinux/isolinux.boot
 >   El Torito images   :   N  Pltf  B   Emul  Ld_seg  Hdpt 
Ldsiz         LBA
 >   El Torito boot img :   1  BIOS  y   none  0x0000  0x00 4       22645
 >   El Torito boot img :   2  UEFI  y   none  0x0000  0x00 
24856          47
 >   El Torito img path :   1  /isolinux/isolinux.bin
 >   El Torito img opts :   1  boot-info-table isohybrid-suitable
 >   El Torito img path :   2  /isolinux/efiboot.img
 >   xorriso : NOTE : No System Area was loaded
 >
 > There is neither MBR nor GPT. So booting from USB-stick or other
 > hard-disk-like device would demand that the UEFI implementation
 > understands ISO 9660 and knows where to look for efiboot.img.

I feel ashamed. I forgot to post-process the ISO image you downloaded,
sorry.

I've now uploaded a new one, post processed with "isohybrid -u".
Now I get this:

bash-4.2# xorriso -indev  slint64-14.1_syslinux.6.03-1.iso \
 >        -report_el_torito plain  \
 >         -report_system_area plain
xorriso 1.3.8 : RockRidge filesystem manipulator, libburnia project.

xorriso : NOTE : Loading ISO image tree from LBA 0
xorriso : UPDATE : 34 nodes read in 1 seconds
xorriso : NOTE : Detected El-Torito boot information which currently is 
set to be discarded
Drive current: -indev 'slint64-14.1_syslinux.6.03-1.iso'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Boot record  : El Torito , MBR isohybrid cyl-align-on GPT
Media summary: 1 session, 64279 data blocks,  126m data, 19.3g free
Volume id    : 'Slint installer'
El Torito catalog  : 46  1
El Torito cat path : /isolinux/isolinux.boot
El Torito images   :   N  Pltf  B   Emul  Ld_seg  Hdpt Ldsiz         LBA
El Torito boot img :   1  BIOS  y   none  0x0000  0x00      4 22645
El Torito boot img :   2  UEFI  y   none  0x0000  0x00 24856          47
El Torito img path :   1  /isolinux/isolinux.bin
El Torito img opts :   1  boot-info-table isohybrid-suitable
El Torito img path :   2  /isolinux/efiboot.img
System area options: 0x00000102
System area summary: MBR isohybrid cyl-align-on GPT
ISO image size/512 : 257116
Partition offset   : 0
MBR heads per cyl  : 64
MBR secs per head  : 32
MBR partition table:   N Status  Type        Start       Blocks
MBR partition      :   1   0x80  0x00            0       258048
MBR partition      :   2   0x00  0xef          188        24856
MBR partition path :   2  /isolinux/efiboot.img
GPT                :   N  Info
GPT disk GUID      :      19cb47a8df735246a8e1a5c62c8fd21d
GPT entry array    :      2  128  overlapping
GPT lba range      :      34  258014  258047
GPT partition name :   1 
490053004f004800790062007200690064002000490053004f00
GPT partname local :   1  ISOHybrid ISO
GPT partition GUID :   1  4c223dc99370cc4fb287af7563e56c90
GPT type GUID      :   1  a2a0d0ebe5b9334487c068b6b72699c7
GPT partition flags:   1  0x0000000000000000
GPT start and size :   1  0  257116
GPT partition name :   2  490053004f00480079006200720069006400
GPT partname local :   2  ISOHybrid
GPT partition GUID :   2  3f313f0c55e5934ab38a447275cf45b1
GPT type GUID      :   2  a2a0d0ebe5b9334487c068b6b72699c7
GPT partition flags:   2  0x0000000000000000
GPT start and size :   2  188  24856
GPT partition path :   2  /isolinux/efiboot.img
bash-4.2#

Unfortunately I am unable to decipher that and analyze the differences
with the output of that command applied to debian-7.5.0-amd64-netinst.iso.

But as you are the author of xorriso maybe it shouls be easier for you!

 > If presented as (pseudo-)CD-ROM, /isolinux/efiboot.img should
 > be found and interpreted by UEFI.
 > Here it probably fails with the known inability of ISOLINUX to
 > boot via UEFI.

That's would be my assumption, yes. Unfortunately I was not aware of that
inability before testing.


 > All UEFI capable ISOs known to me use a GRUB2 produced FAT image
 > file as UEFI boot image. E.g. debian-7.5.0-amd64-netinst.iso :
 >   El Torito catalog  : 847  1
 >   El Torito cat path : /isolinux/boot.cat
 >   El Torito images   :   N  Pltf  B   Emul  Ld_seg  Hdpt 
Ldsiz         LBA
 >   El Torito boot img :   1  BIOS  y   none  0x0000  0x00 4        1072
 >   El Torito boot img :   2  UEFI  y   none  0x0000  0x00 896         848
 >   El Torito img path :   1  /isolinux/isolinux.bin
 >   El Torito img opts :   1  boot-info-table isohybrid-suitable
 >   El Torito img path :   2  /boot/grub/efi.img
 >   System area options: 0x00000102
 >   System area summary: MBR isohybrid cyl-align-on GPT APM
 >   ISO image size/512 : 454656
 >   Partition offset   : 0
 >   MBR heads per cyl  : 64
 >   MBR secs per head  : 32
 >   MBR partition table:   N Status  Type        Start Blocks
 >   MBR partition      :   1   0x80  0x00            0 454656
 >   MBR partition      :   2   0x00  0xef         3392 896
 >   MBR partition path :   2  /boot/grub/efi.img
 >   GPT                :   N  Info
 >   GPT disk GUID      :      b3aadf1d79f37941a9e16e9d465702f1
 >   GPT entry array    :      12  208  overlapping
 >   GPT lba range      :      64  454602  454655
 >   GPT partition name :   1 490053004f00480079006200720069006400
 >   GPT partname local :   1  ISOHybrid
 >   GPT partition GUID :   1  b3aadf1d79f37941a9e36e9d465702f1
 >   GPT type GUID      :   1  a2a0d0ebe5b9334487c068b6b72699c7
 >   GPT partition flags:   1  0x1000000000000001
 >   GPT start and size :   1  0  454600
 >   GPT partition name :   2 490053004f004800790062007200690064003100
 >   GPT partname local :   2  ISOHybrid1
 >   GPT partition GUID :   2  b3aadf1d79f37941a9e26e9d465702f1
 >   GPT type GUID      :   2  a2a0d0ebe5b9334487c068b6b72699c7
 >   GPT partition flags:   2  0x1000000000000001
 >   GPT start and size :   2  3392  896
 >   GPT partition path :   2  /boot/grub/efi.img
 >   APM                :   N  Info
 >   APM block size     :      2048
 >   APM gap fillers    :      0
 >   APM partition name :   1  EFI
 >   APM partition type :   1  Apple_HFS
 >   APM start and size :   1  848  224
 >   APM partition path :   1  /boot/grub/efi.img
 >
 > The UEFI boot image /boot/grub/efi.img is advertised by
 > El Torito for CD, by MBR, GPT, and APM for USB-stick.
 > So the firmware has a lot of entry points to pick from.
 > (I believe that the APM equipment is put here in vain.
 >  It does not harm, nevertheless.)

As you can see above in my case /isolinux/efiboot.img is advertised by
El Torito for MBR and GPT
 >
 > I cannot tell how the GRUB2 image file was created.
 > It is done by the ISO production scripts of the distros.
 > At least with Debian, Ubuntu, Archlinux, and Fedora.

At least I can give you that information for Slackware ;)
http://mirrors.slackware.com/slackware/slackware64-14.1/EFI/BOOT/make-grub.sh

I have uploaded in http://slint.fr/misc/testing following files:
  # post-processed, otherwise identical
   to slint64-14.1_syslinux.6.03.iso
slint64-14.1_syslinux.6.03-1.iso.md5
slint64-14.1.iso # that's not a genuine Slackware installer, but the EFI
   bootloader comes from Slackware (in this case syslinux 4.06 is used
   for the BIOS bootloader)
slint64-14.1.iso.md5
syslinux-6.03.txt # gathers commands applied to
   slint64-14.1_syslinux.6.03-1: worriso => dd => gdisk on the USB stick
grub.txt # same commands applied to slint64-14.1.iso

I saw this message output of gdisk:
   "Warning! Main partition table overlaps the first partition by 34 
blocks!"
But as it is present in both cases, that can hardly explain the difference
in behavior when trying to boot off the USB sticks in a VM:
slint64-14.1.iso => shows te GRUB menu as expected
slint64-14.1_syslinux.6.03-1.iso => black screen, blinking error message:
   "Failed to read block: ox2"

 > Have a nice day :)
 >
 > Thomas

Thanks and best regards,

Didier




More information about the Syslinux mailing list