[syslinux] Sysinux 6 will not boot ISOs on BIOS (i.e. pre-UEFI) systems

Thomas Schmitt scdbackup at gmx.net
Thu Nov 28 03:44:11 PST 2013


Hi,

Carl Duff:
> http://www.syslinux.org/archives/2013-November/021190.html
> Boot failed. Error message was:
> *Failed to load ldlinux.c32*

So Gerardo's fix was successful.

It should be possible to transplant the fixed isolinux.bin
into other ISOLINUX 6.02 bootable images, which boot further
than just to the expected failure to find ldlinux.c32.

After the following steps, the resultng arch_repacked.iso
boots for me to menu and root prompt:

  # mount -o loop test-isolinux-6.02.patched.iso /mnt

  $ cp /mnt/isolinux/isolinux.bin /tmp/isolinux.bin

  # umount /mnt
  # mount -o loop archlinux-2013.11.01-dual.iso /mnt

  $ xorriso -as mkisofs \
      -o arch_repacked.iso \
      -c isolinux/boot.cat \
      -b isolinux/isolinux.bin \
         -no-emul-boot -boot-load-size 4 -boot-info-table \
      -V "ARCH_201311" \
      -iso-level 2 \
      --sort-weight -1 /isolinux/isolinux.bin \
      -graft-points \
      /mnt \
      /isolinux/isolinux.bin=/tmp/isolinux.bin

  $ rm /tmp/isolinux.bin

--sort-weight -1 brings the boot image to the highest possible
block address .i.e into the dangerous area.

The files /isolinux/isolinux.bin of test-isolinux-6.02.patched.iso
and arch_repacked.iso should then only differ by bytes 12 to 15,
where the block address in the ISO image is recorded.
(I see quite some diff towards the original isolinux.bin of
 archlinux-2013.11.01-dual.iso.)


Have a nice day :)

Thomas



More information about the Syslinux mailing list