[syslinux] dynamic tftp content?

Andreas Kotes count-linux at flatline.de
Thu Mar 22 13:37:26 PDT 2007


Hello,

* Geert Stappers <stappers at stappers.nl> [20070322 20:13]:
> Op 20-03-2007 om 14:51 schreef Craig:
> > Do you happen to know why PXE requires tftp? Wouldn't it have made more 
> > sense to do some kind of http or ftp download? (I would think http would 
> > be a little easier.)

it's a lot hardware without a full TCP/IP stack - ARP/DHCP/TFTP all use
UDP packets, while HTTP and FTP use TCP connections (FTP uses even
multiple) .. implementing (more or less) full TCP with connection
handling, retransmission without application involement, etc etc
requires a lot of different things which don't have to be there if you
use UDP only (more complex memory handling, timers, being more
multitasking-ish, etc etc) ... you'd really be opening a can of worms.

The server side is easy (you usually do have a full TCP/IP stack there
already, and you can bascially open/accept a TCP connection without
worries) - the client side is not so easy. There are small TCP/IP stacks
like lwIP and uIP if you don't want to reinvent the wheel and really
want to do it - but besides ...?

The Etherboot guys are doing gPXE, which provides HTTP download, but
this doesn't seem to be production quality yet, so I'd not recommend it.

I'd go for the FUSE approach with intelligent caching - it should be
possible to create a filesystem for this using the FUSE stub plus your
favourite solution for creating the dynamic file (whatever - fetch it
via libcurl from a webserver!) in a quite concise way.

Best regards,

   Andreas

-- 
"God is a comedian playing to an audience too afraid to laugh." -- H.L.Mencken




More information about the Syslinux mailing list