About the boot process of LTSP clients, I think it's better not to focus on LTSP, but on the simplest possible netbooted system that works out of the box in all Debian/Ubuntu versions (and many other Linux distros) without using a custom initramfs:
Let's say we have an "rw" NFS export for a single client on some server.
And we just pass "root=/dev/nfs ip=dhcp boot=nfs" in the client command line. The *stock* initramfs (related packages: initramfs-tools, klibc) then brings up the network interface and mounts the NFS root file system and chains to it.

That NFS export (chroot) may have any package installed in it, gnome, kde, apache, network-manager, avahi etc. There's no special handling of anything; everything works without customizing any configuration file, the only part that is needed is to put "manual" in $CHROOT/etc/network/intefaces. If "manual" is not inserted there, then the packages that use ifupdown won't receive the appropriate events. We can get a list of those packages from http://packages.debian.org, but I don't think it's important; we don't want to special-case any one of them. For example, ntpdate needs an if-up.d event to sync the clock, ethtool adjusts the WOL and other NIC settings, and there's also avahi, openssh, resolvconf etc.

So to sum up, a netbooted system needs a way to "have all the events sent for the boot interface, but prohibit its IP from being changed and prohibit it from getting down".
In practise, the "manual" flag covered that fine so far.
But if that's ...abusing its intented purpose, and another solution is necessary, I would propose this: 1) initramfs-tools, dracut etc could create a file somewhere in /run to mark the boot interface 2) ifupdown, network-manager, wicd etc could read that file and handle that interface in that aforementioned special way (send events, maybe even show the connection speed and status in the network-manager UI, but don't change the IP or ifdown it).

Reply via email to