[syslinux] pxelinux implementation questions

H. Peter Anvin hpa at zytor.com
Fri Jun 20 13:19:34 PDT 2003


Alexander Sack wrote:
>>
>>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.)
> 
> What do you mean by it "must go into contiguous memory"?  What happens
> if you change the buffer address on the fly?  It won't work?
> 

You can't.

> 
>>>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.
> 
> Okay, then can pxelinux handle initrd's bigger than 32MB?  
> 

Yes.

> I remember in the archives you stating that it can handle bigger images
> minus kernel initrd bugs (external to pxelinux):
> 
> http://www.zytor.com/pipermail/syslinux/2002-January/000008.html
> 
> Is this still true?  From the code, it looks like you will handle
> different block sizes other than 512 if negotiated.  That would allow
> initrd's greater than 32MB right?

It can handle greater than 32 MB regardless of blocksize.

> 
> 
>>>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.
> 
> Okay, I wasn't criticizing pxelinux, I am just trying to
> understand why add the extra overhead and pervent other tftp dameons
> from working with pxelinux?  That's all!  :-)!
> 

What extra overhead?

Quite frankly, tsize has been an RFC since 1995.  If a TFTP server
doesn't support it it's usually because it's a largely unmodified
version of the old BSD code, which crawls with bugs.

	-hpa


	-hpa





More information about the Syslinux mailing list