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

Thomas Schmitt scdbackup at gmx.net
Sun Nov 24 03:59:06 PST 2013


Hi,

i am experiencing strange boot failures after repacking
the ISO image archlinux-2013.11.01-dual.iso without isohybrid
and EFI:

  # 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" \
      /mnt

This gesture works well with other bootable ISOs.

But when trying to boot the repacked archlinux, i do not
get to the menu but rather see:

  ISOLINUX 6.02 ETCD [... copyright ...]
  No DEFAULT or UI configuration directive found!
  boot:

To make it sure that not my own program xorriso is to blame,
i tested again with debian-testing-amd64-netinst.iso.
This one works fine after repacking.
(strings isolinux.bin says "ISOLINUX 4.05 20131121")

Then i tried mkisofs.
Repacking is a bit more complicated but yields the same strange
result when booting.

  # Bring isolinux.bin to a writable filesystem
  # (because mkisofs insists in patching the file on disk)
  cp /mnt/isolinux/isolinux.bin /home/thomas/test/isolinux.bin

  # Put it into the ISO image as boot image isolinux2.bin 
  # (because mkisofs -R refuses to overwrite isolinux.bin from /mnt
  #  by isolinux.bin from /home/thomas/test)
  mkisofs \
      -o arch_repacked_mkisofs.iso \
      -c isolinux/boot.cat \
      -b isolinux/isolinux2.bin \
      -no-emul-boot -boot-load-size 4 -boot-info-table \
      -V "ARCH_201311" \
      -R -graft-points \
      /mnt \
      /isolinux/isolinux2.bin=/home/thomas/test/isolinux.bin

I believe that the El Torito stuff is not to blame
because the boot image is obviously found by the BIOS.
But then something is missing. The ISO filesystem ?

The missing thing is not in the System Area.
Overwriting the first 32 KB of the original ISO does not hamper
its bootability from DVD.
But repacking its content and writing new El Torito does.

The repacked ISO images are mountable.
Their isolinux/isolinux.cfg has
  DEFAULT loadconfig
  LABEL loadconfig
     CONFIG /arch/boot/syslinux/archiso.cfg
The file arch/boot/syslinux/archiso.cfg is readable too.


The boot image isolinux.bin gets to quite a high address
by the repacking runs (263858 * 2KB in case of xorriso-1.3.2).
But it did not help to apply option
  --sort-weight 2 /isolinux/isolinux.bin
which pushed the isolinux.bin to address 43.
(This weight will be default with upcomming xorriso-1.3.4).


Any idea what i should do to find out the reason for not
reading the configuration ?
(I could edit config files or insert a different boot image
if somebody guides me.)

It would be helpful to have a smaller ISO image for experiments.
Repacking lasts not long. But burning to DVD+RW is slow.


Have a nice day :)

Thomas



More information about the Syslinux mailing list