[syslinux] isohybrid question

H. Peter Anvin hpa at zytor.com
Tue Mar 30 13:17:51 PDT 2010


On 03/14/2010 12:46 AM, Thomas Schmitt wrote:
> Hi,
> 
> here is an alternative idea about getting the
> right MBR template for a given isolinux.bin:
> 
> How about we put the plight of choice on the
> user ?
> 
> The MBR template would be given as a simple
> disk file of up to 32 kB. E.g. in the same
> disk directory as isolinux.bin.
> Syslinux would provide a tool for choosing and
> generating that MBR file. (A better name
> would be "System Area file" as it may be larger
> than 512 byte.)
> 
> An ISO image generator would get pointed to
> that file similarly as it gets pointed to
> isolinux.bin.
> It would then copy the content to the System
> Area of the image and patch in a LBA if
> necessary.
> 
> This would reduce the expertise needed in the
> ISO program and give the user full control
> over the choice of an MBR.
> 

Sorry for the late reply, I have been travelling.

Yes, I think this is the right thing to do, and avoids unnecessary
coupling between xorriso/libisofs and Syslinux.  It isn't any stranger,
really, than isolinux.bin itself being a separate piece of code.  In
fact, it has the advantage that the user can choose to store (a copy of)
the system area file in the filesystem itself, to make it easier to
remaster the filesystem.  From a Syslinux perspective, this is really
easy; all I end up having to do is to make sure there are sane names for
the various isohybrid files and that they end up in make install.

a) verifying the hybrid signature of the boot file;
b) patching the LBA of the boot file at (zero-based) offset 432
   decimal;
c) constructing the volume ID of the partition table at offsets
   440-512.

The one thing that I'm wondering about is if we should have a more
complete header of the boot file than the very simple signature I have
now, to avoid future problems.  In particular, I'm wondering if there is
anything we can do to avoid version mismatches between the System Area
file and the rest of the boot file.

	-hpa




More information about the Syslinux mailing list