[syslinux] pxelinux implementation questions

H. Peter Anvin hpa at zytor.com
Fri Jun 20 11:55:47 PDT 2003


Alexander Sack wrote:
> Hi,
> 
> I've been looking at the pxelinux code and I was wondering a couple of
> things:
> 
> 1)  Why does pxelinux create UDP packets from scratch instead of use the
> Intel PXE TFTP OPEN/CLOSE/READ calls?  I'm assuming this is to support
> TFTP options like tsize right?  Did earlier versions of pxelinux use the
> TFTP calls directly?
> 

Because they're largely useless.  They have too many limitations -- only 
one transaction at one time, must go into contiguous memory, and they 
will write to the screen and read from the keyboard (there are ways 
you're *supposed* to be able to override that, but they frequently don't 
work.)

> 2)  How big of an image can pxelinux download (minus memory constraints)?  
> My understanding is that tftp packet numbers are from 0-65535 yielding a 
> maximum size of 32MB.  Yet, from the revision history, it seems pxelinux 
> can handle bigger images?  (I don't see any wrap around handling though
> I maybe not looking hard enough in seachdir() - from the looks of it,
> the only way I can see pxelinux downloading a bigger image is if the
> tftp_blksize is negotiated greater than 512, right?)

Nope.  After FFFF follows 0000.

> 3)  Why does pxelinux require tsize?  Does it make a difference what
> size the file is as long as the last packet returns < 512?

PXELINUX wants to know the size of the file before it downloads it.

	-hpa





More information about the Syslinux mailing list