[syslinux] Booting a bootable CD-ROM

Andy Pont andy.pont at sdcsystems.com
Mon Mar 21 11:56:48 PDT 2016


To elaborate a little further....

The code that currently does the following is executed as part of a
replacement for the BIOS interrupt 19h bootstrap process.
 
  1) Issue an ATAPI command to read sector 11h
  2) Use the value at offset 47h to read the validation entry and initial
     section entry
  3) Use the loadrba value from the initial section entry to read the
     first sector of executable code
  4) Copy that sector to 07C0:0000
  5) Pass execution to the start of the read sector at 07C0:0000

I have been reading the BIOS Enhanced Disk Drive Services (EDD)
specification which defines the interrupt 13h interface in a reasonable
level of detail and I am wondering whether there needs to be an additional
step between 2) and 3) above.

I am thinking that this step should take the necessary information from the
initial section entry and combine it with the information I know about the
disk interface (primary/secondary/sata) and drive (master/slave) and use
that to create the CD specification packet in a call to interrupt 13h
function 4Ah that way the BIOS can then deal with the rest of the queries
itself.

My testing at the moment is using a CentOS 6.7 netinstall CD which uses
isolinux 4.04 albeit I have replaced the standard isolinux.bin file with the
isolinux-debug.bin version.

Andy.



More information about the Syslinux mailing list