[syslinux] Looking for testers and advise about ISOLINUX within ISO 9660

Thomas Schmitt scdbackup at gmx.net
Tue Oct 7 04:18:43 PDT 2008


Hi,

we are the developers of an alternative to mkisofs:
program xorriso from libburnia-project.org .

The current development cycle is about support for
creating bootable CDs, DVDs, BDs. So we look for
testers and for advise about ISOLINUX specifics.

The example from the ISOLINUX wiki is supposed to
work if you replace "mkisofs" by "xorriso -as mkisofs".
I.e:

  xorriso -as mkisofs -o output.iso \
     -b isolinux/isolinux.bin -c isolinux/boot.cat \
     -no-emul-boot -boot-load-size 4 -boot-info-table \
     root-of-iso-tree

xorriso is based on code entirely independent of cdrtools
or cdrkit.
It runs on Linux 2.4 and 2.6, covers the core features
of mkisofs, cdrecord, growisofs, and provides some extras.

Our own experiments were made with mounted bootable CDs
as source. So we had not to know more than is described
in the ISOLINUX wiki.
On blank media one can do:

  xorriso -as mkisofs \
    -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \
    -no-emul-boot -boot-load-size 4 -boot-info-table \
    /media/dvd \
  | \
  xorriso -as cdrecord -v dev=/dev/hdc -

xorriso also serves as "cdrecord" here.
One can have the same in xorriso's own command notation
and with automatic blanking of media which need it:

  xorriso -outdev /dev/hdc \
    -blank as_needed \
    -map /media/dvd / \
    -boot_image isolinux dir=/boot/isolinux


xorriso is comprised of the following components:
- libisofs under responsibility of Vreixo Formoso,
- libburn, libisoburn, xorriso under responsibility
  of me, Thomas Schmitt.

Neither Vreixo nor i have experience with creating
live CDs or DVDs. Vreixo knows about ECMA-119
(aka ISO 9660) and El Torito. I know about MMC
(for driving burners) and about the xorriso application.

So if the ISOLINUX community is interested in having
a custom-tailored ISO 9660 and MMC burn program, here
is the chance to exert influence.
xorriso's -boot_image class "isolinux" is open to any
special requirements. We would like to implement
plausibility checks and to be able to recognize
whether an existing El-Torito record points to an
ISOLINUX system.

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

Questions which arised during testing:

- Should we disable version numbers and mandatory
  dots in the ISO 9660 filenames ?

  There are texts around in the web which demand this
  but our boot experiments worked although we kept
  those features as prescribed by the ECMA-119 specs.

- Is it normal that existing BIOSes violate the
  El Torito specification by reading the boot record
  from the _first_ session rather than from the _last_
  session (i.e last_session_start_lba + 0x11) ?

  Our tests with multi-session CD-RW and DVD-RW showed that
  - they boot if the first session was bootable
  - they don't boot if the first session was not bootable
  regardless whether the last session is bootable or not.
  Test were made with a Asus A7V8X-X of year 2004 and a
  Asus P3B-F of 1999.

  We are quite sure that it is not about our own efforts
  since on DVD+RW we can happily switch from bootable to
  non-bootable and vice-versa by overwriting the first
  32 blocks on media after adding a new session.

- How to recognize an existing ISOLINUX boot image after
  having detected an El Torito boot record ?

  The record leads us to the isolinux.bin file. Is there
  a reliable signature in it ?
  E.g. is this hardcoded or is it user defined:
  0001560   X 342 347   f   a   f 235 303  \r  \n   I   S   O   L   I   N
  0001600   U   X       3   .   3   6       2   0   0   7   -   0   2   -
  0001620   1   0      \0       C   o   p   y   r   i   g   h   t       (
  (found in Recovery Is Possible 2.9 CD image)

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

For testers:

The current semi-stable development snapshot of xorriso is
available as
  http://scdbackup.sourceforge.net/xorriso-0.2.7.tar.gz

xorriso depends only on Linux kernel, libc and libpthread.
Installation:
  tar xzf .../xorriso-0.2.7.tar.gz
  cd xorriso-0.2.7
  ./configure
  make
Use the emerging binary ./xorriso/xorriso or do as superuser
  make install

For accessing drive device files you need rw-permission
but there is no need to be superuser.
Disk files are addressed like: -outdev "stdio:/my/file/path"
Standard output for piping:    -outdev "-"

man page online:
  http://scdbackup.sourceforge.net/man_1_xorriso_devel.html
home page
  http://scdbackup.sourceforge.net/xorriso_eng.html

The stable version 0.2.6 is _not_ suitable for ISOLINUX
experiments. Use only 0.2.7 or later.

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

Have a nice day :)

Thomas




More information about the Syslinux mailing list