Instead of configuring devices when they are ready, ifup and dhclient-script write script files which are then sourced by netroot. This solves the problem of having multiple interfaces and not knowing which one to use for dhcp or default route. This way, netroot (which is serialized anyway) configures the interface before calling the root handler and deconfigures it if the handler failed. Example: root=nfs:server:path and ip=dhcp with eth0 and eth1 receiving a dhcp reply, but eth0 is the correct one to use. Assuming eth1 is the first to receive the dhcp-reply, netroot starts and configures eth1. nfsroot is run but fails, so eth1 is deconfigured. If eth0 has received a dhcp-reply (or not, then we wait) the other locked netroot process starts and tries with eth0 and succeeds. |
||
|---|---|---|
| .. | ||
| check | ||
| dhclient-script | ||
| dhclient.conf | ||
| dhcp-root.sh | ||
| ifup | ||
| install | ||
| kill-dhclient.sh | ||
| net-genrules.sh | ||
| netroot | ||
| parse-ip-opts.sh | ||
| write-ifcfg.sh | ||