[syslinux] Etherboot & pxelinux (was: thank you)

H. Peter Anvin hpa at zytor.com
Thu Feb 7 14:12:33 PST 2002

Peter Lister wrote:

> Granted; my point is that we (Sychron) have crossed over into the realm
> of getting our hands dirty with DHCP anyway, and we need to maintain a
> server side db of all our hardware; we do clusterwide resource control,
> so how a node should boot is all tied in with e.g. speed, memory rather
> than it's NICs MAC address, so it makes sense to do so in one place.
> This is an argument for better a DHCP server which can create options on
> the fly.
> pxelinux's ability to have different configs based on IP address is
> neat, but I really want choices based on arbitrary information (e.g.
> hardware that is aware of the rack/chassis/slot where it lives) - we
> also may have systems with no fixed IP address.

Please do note that PXELINUX can have the config file specified or even
synthesized by the DHCP server.  If you really want to do DHCP-centric
configuration you can do it by specifying abstract configuration.

The IP-based default is a convenience, but isn't the only option.

> Likewise, when asked about preferring DHCP to a config file it seemed
> reasonable to explain why (issues of ISC dhcpd apart) DHCP seems to be a
> much better long term solution. For what it's worth, I think that
> Etherboot's DHCP could do with restructuring.

I would have to disagree with that.  DHCP has a fair number of problems,
one of them being that you simply can't specify abitrary amounts of data,
since it needs to fit in a single UDP packet *and* fit in the buffers on
the target system -- in practice (meaning: this is how real life
implementations work, like it or not) that means it has to fit in an
single Ethernet packet.  A configuration file can be arbitrarily long.

There is also the particular issue with Etherboot that it interprets just
about the entire site-specific set of codes as its own, without having any
kind of magic key or anything.  PXELINUX has a pretty small set (what it
needs *before* the configuration file loads) of site-specific codes, and
they're keyed.  You basically has to do something like that, especially in
a PXE environment.


More information about the Syslinux mailing list