I'm working on some software that I'd like to test on various distributions of Linux, to be able to say that I know it works on them. The software interfaces with a hardware device over USB and Bluetooth, and so I'd prefer to use it on real hardware rather than in a virtual machine.
One approach is certainly to download the distros I am interested in, and burn them onto CDs/DVDs, or copy the files onto a USB key, and I've used both approaches in the past to good effect. The USB sticks I have handy are only 512 MB, and, while I could shuffle OS installers onto them on demand, I worry I'll start copying files, get distracting, and come back later to be little further in getting the OS installed. I'd really like to start it and forget it. (Admittedly, I expect to have to enter in a user account, hostname, timezone, etc).
PXE booting over the LAN makes sense to me.
Most instructions I've seen on doing this have you set up your own DHCP server, and using it either in the place of whatever device is handing out DHCP addresses, or putting it on its own miniature LAN. I would like to leave my existing DHCP server operating*, and I'd also like the computer being installed to to be able to get updates from the internet**. I have followed some instructions on using dnsmasq to do this, and ran into difficulties. (I don't have the exact steps in front of me right now, and this may be going down the wrong path altogether. If it is a good way to go, I'd be happy to provide further details.) In further looking, I see there are many possibilities, from Red Hat's kickstart to gPXE.
I should point out that I'm not truly imaging the machines -- I just want to put the different distros on it as they come off the disc, so to speak, and not in a manner tweaked for, say, an enterprise desktop. (As a Mac administrator, I've often set up golden masters, and made a disk image of the hard drive, and then copied it out over the network, or used base OS images and added packages to it. What I'm looking for here is more akin to making the installer available over the LAN, rather than a complete drive image).
I would also like to add that I'm not opposed to having a bootup medium (USB, DVD) that tells the computer, "Here's the server. Ask it which OSes it has installers for". Likewise, it is a plus to be able to get two or three computers going at once (yeah, small scale, but n > 1), which is another reason I think doing this over the network is a big plus.
Does anyone have recommendations on how I can quickly and easily deploy different Linux distributions to test machines, such that once things are set up, I can start machines installing and come back to them later to test software on them? (It doesn't strictly have to be over the network, but after the one-time setup is figured out, this sure seems like the easiest way to me).
* I'm actually testing on my home network, and my cable modem / wifi base station hands out DHCP addresses. I recognize that I could turn this off and have some other computer do it, but I haven't been running a box at home 24/7 and it seems silly to do so just for DHCP.
** This makes using a smaller, separate network more tricky, unless I bridge the two networks, and, not having two NICS for one box, that sounds like more effort than I hope to expend. Truly, I could install the OS on a separate network and then move it onto the network with live access to the internet, but that goes contrary to starting it and forgetting it.