This is really helpful.
In this case I have one kind of board with dual NICs, but the other has only one NIC. I'm not sure what you do in that case.
I'm thinking that maybe the way to do it would be to change the image on the tftp server and then restart each machine
One question: How would persistence work for each rig? For example, let's say each rig has a different config file that it needs for its specific config.
You might be able to write a script that pulls a unique identifier from the machine, usually MAC address, upon starting. Then, the script would contact a local web server using the unique identifier as a GET or POST argument, which would then either reply with static files, or would reply with config files that are generated on the fly.
So for example, you could say that MAC addresses a, b, c, and d all need to mine on a different pool for a day or 2, so you would poke that into a (php?) web server config/script, and then reboot the miners. When they boot, they will get the alternate config. Now obviously changing the values on the fly is more ideal and should be used, but you could combine both to have quick and easy recovery from crashes.
EDIT: Obviously, the most ideal situation would be to provide only a bare minimum of config on boot, and do the rest after boot to give you the best flexibility. Also, a good DHCP
server can be told to reserve an IP for a specific MAC so everything can be configured based on IP address.