[klibc] ipconfig and boot filename option

Άλκης Γεωργόπουλος alkisg at gmail.com
Tue May 27 02:14:42 PDT 2008


Well, it shows when someone knows what he's talking about (=hpa).

I've been reading more and more about dhcp, pxe, bootp etc. and I've
just realized the extend of the problem that Peter was telling me all
this time:

* A dhcp client should be resident to renew its lease. Sorry, I didn't
know - that's why I was unable to understand.
* In current LTSP implementation, no resident dhcp client like
dhclient is used in order to save RAM for the thin clients. A call to
ipconfig is all that is done.
* So, in a normal setup (not like mine with private addresses) the
leases may expire and there may be trouble.
See http://www.intra2net.com/de/produkte/opensource/diskless-howto/howto.html
paragraph 10. Known problems for a more extensive explanation.

Sure, most dhcp servers probably ping or something an address to see
if it's in use before offering it, but strictly speaking, using only
ipconfig -c dhcp is asking for trouble! :)

So, to both save RAM (no resident dhcp client) and avoid lease
expirations, ipconfig -c bootp should be used so that the LTSP clients
get infinite leases. I guess that's usually OK in LTSP environments,
we reserve e.g. a dosen IPs for a dosen LTSP clients and we always
want them to get the same IPs.
This has the nice side effect that I needed in the first place, that
normal routers will ignore this request, and the clients won't fall to
busybox if more than 1 dhcp server is around.


Looking deeper, I found that I can put a parameter, ip=bootp, to
/var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default which is passed to
initramfs, and the boot scripts take it into account and call ipconfig
-c bootp. That was all I needed to do, but I couldn't find this info
anywhere.

I'm looking for a similar simple way to pass "-c bootp" for etherboot
clients (=nbi.img), but I think I can figure that out for myself.

Thanks again,
Alkis



More information about the klibc mailing list