[syslinux] Comboot files

H. Peter Anvin hpa at zytor.com
Wed Jun 5 14:54:52 PDT 2002


Michael K Ter Louw wrote:
> Hi,
> 
> There's not much to say about making a .cbt file. Here's some things
> that come to mind, though:
> 
> 	- start your program with an org of 0x100 (use [org 0x100] in
> nasm)

"org 0x100" is usually preferred over "[org 0x100]", though.

> 	- make all jumps/accesses NEAR and _relative_

This is actually not necessary, as long as you don't mess around with
segments.

> 	- the program shouldn't use a total of more than 64kb of memory
> 	- use standard BIOS calls when possible (to make sure your
> program
> 	  will run on the most hardware)
> 	- quit back to syslinux by invoking int 0x20

In addition, the command line tail is available starting at offset 0x80
starting with a length byte and terminated with \r (CR, ASCII 13).

> If you would like an example of a comboot program, see the one I've
> created at www.bootscriptor.org.  The source code is available so you
> can see how it does certain things like process command-line input from
> Isolinux, etc.  HPA has worked to make the comboot programs operate just
> like .com programs in DOS, so when in doubt...do as you would in DOS
> (lots of stuff on the web for that).  Just make sure you don't call any
> DOS API functions (i.e. int 0x21) as it will cause Syslinux to terminate
> your program.
> 
> If you have any specific questions, post to this list and we'll try to
> clear it up for you.


Hopefully I'll get around soon to adding some additional services to
comboot programs -- especially I want the DOS console API to be
available, so one can use the comboot programs via serial port.  Michael
did a draft API, but I want to make some minor changes to it.

I have also played around with the idea of a 32-bit COMBOOT format,
based on the BIOS extender I wrote for Genesis.  We'll see if I ever get
around to implementing it.

	-hpa





More information about the Syslinux mailing list