[syslinux] troubles with PXE APIS

H. Peter Anvin hpa at zytor.com
Mon Sep 1 10:18:37 PDT 2003


Roderick ASSELINEAU wrote:
> Hi everybody,
> 
> 	I'm a french student employed to develop the boot loader of some
> commercial kernel (real time one). Since the goal is to have a universal
> x86 netboot I had to use PXE apis. 
> 
> 	However I have troubles using them. Since our kernel is not GPL based I
> can't just patch syslinux for our purpose.

Sure you can.  Or you could even put your own kernel into the Linux 
kernel binary format, making it compatible with each and every Linux 
boot loader.  Doing so does *not* make your kernel GPL; you just can't 
use the actual *code* from Linux to do so.  However, just producing a 
kernel in the same format (see Documentation/i386/boot.txt in the Linux 
kernel distribution) doesn't violate anyone's copyright.

> I tryed to make a very simple
> netboot loader using intel doc but I was not able to make work
> TFTP_READ_FILE correctly.
>  
> 	I know that my trouble is not directly linked to syslinux but I hope
> that people involved in the code could help me. My API call should be ok
> but I couln't find in any docs the answers to this elementary question :
> 
> 	* Since the DHCP/TFTP boot (using bios) is ok and seems to use PXE can
> I directly use TFTP_OPEN_FILE API ? I supposed reading your source code
> that exchange of packets before kernel downloading was just to fill some
> structure's fields. I used static parameters do I need such
> implementations ? I try to make the netbootloader as small as possible.
>  
> 	Thanks by advance and sorry for my lame english :-(.

The biggest problem is that most PXE stacks are complete crap -- bugs 
everywhere.  It's taken quite a bit of work to get PXELINUX working on 
most PXE stacks -- and yet it still fails in places.

But really, you're wasting your time.  Just put your non-GPL kernel 
either in Linux kernel or in COM32 format, and just use PXELINUX.

	-hpa




More information about the Syslinux mailing list