[syslinux] port syslinux isohybrid perl script to C
Thomas Schmitt
scdbackup at gmx.net
Tue Mar 30 14:03:26 PDT 2010
Hi,
> The request is to port the isohybrid script, in the syslinux package,
> from perl to C
If a major overhaul of isohybrid is done, then
please also consider my proposal to produce MBR
template files as alternative to image patching
http://syslinux.zytor.com/archives/2010-March/013905.html
I just see that hpa has resumed our discussion.
It seems the isohybrid issues should be decided
in a coordinated way:
- There is interest of genisoimage to do what
libisofs does.
- There is interest of libisofs to get a more
stable interface to the SYSLINUX realm.
- There is interest to get rid of perl at
runtime.
> As this is doing some simple structure unpacking and validation, and
> simple binary writes, this should be straightforward to implement in
> C.
Yes. It is no big deal. I did this in libisofs
with isohybrid from 3.72
http://bazaar.launchpad.net/%7Elibburnia-team/libisofs/scdbackup/annotate/head%3A/libisofs/make_isohybrid_mbr.c
The fundamental problem is that the souvereignty
over the MBR code is with SYSLINUX, but the
souvereignty over the inner addresses of the ISO
image is with the ISO formatter program.
So isohybrid cannot patch ISO images on-the-fly
and libisofs has to expect at any time that its
outdated MBR template does not match isolinux.bin
any more.
(It is a little wonder that it still works.)
It appears to me, that isohybrid already contains
most of the code needed for MBR templates.
One has to split the random access i/o on the
ISO file from the preparation of the MBR data.
Then it is possible to produce an MBR with some
dummy addresses.
Have a nice day :)
Thomas
More information about the Syslinux
mailing list