[syslinux] COM32 Advice

ganapathy murali krishnan gmurali at cs.uchicago.edu
Thu Apr 17 15:52:13 PDT 2003


I am currently in the process of writing a small COM32 code. We have a 
ISOLinux based CD, which boots into DOS/WinXP/Linux and does a whole lot 
of useful things including installing (multiboot) OSes with software, 
troubleshooting.... More details available at 
http://people.cs.uchicago.edu/~gmurali/gui/index.html

The process of installing OSes (especially multiple OSes), require one 
to boot in some particular order, e.g. Boot into DOS off the CD, and 
then off the hard disk,.... I am currently trying to automate that 
process. To that end I am writing a COM32 code, which ineffect reads a 
particular sector from the hard disk (sector 6-9 in the 0th cylinder 
which AFAIK is not used by any OS to do anything), interprets that to be 
a "stack" of names of "kernels" to boot from, pops the top one off the 
stack, writes the new "stack" to the same sectors, and then asks 
ISOLinux to boot using the correct kernel / from the hard disk.
If no stack is found, then it runs a specific kernel.

In our case, the specific kernel boots into linux and asks the user the 
combination of OSes, which needs to be installed, and based on the user
selection writes the appropriate stack to the hard disk, so that the 
COM32 code can find it the next time it runs.

I assume that my COM32 code, can use the standard BIOS calls to read and 
write to the hard disk. Since the COMBOOT API, does not seem to have an 
API to boot off a specific hard disk partition, I am looking for advice 
on how to do that.

And, any other gotchas I need to be aware of.

- Murali



More information about the Syslinux mailing list