[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