I'll start by saying this is the first time I've ever attempted to set up PXE booting for anything. Also, my linux skills are not the best, at least in regards to advanced topics like this.
If I can get this working properly, I will post a detailed guide on how to do it.
I've tried many things to get this working, with limited success.
I'm running Ubuntu 12.4 Server as the PXE server. It is a virtual machine running inside a VMware ESXi box.
Method 1.
My best success is roughly following this guide:
http://www.serenux.com/2011/04/howto-create-a-diskless-workstation-that-boots-from-pxe-using-ubuntu/In a nutshell, I boot BAMT from a usb client and copy the filesystem to the pxe server, which is then shared as nfsroot for the mining rigs to boot from.
Doing that, I can get the clients to boot AND start mining. The problem is that all the mining rigs are sharing the same root filesystem, so they can't get a lock on any files. This causes problems with gpumon and I'm sure many other other things. But at least cgminer still works...
I think I can work around this by setting up a separate nfs share for each mining rig. But that defeats the purpose of having a single centralized image to manage, it also increases the space requirements.
I believe the proper solution is to set the nfsroot as read-only, and then create a snapshot or overlay for each rig that is rw. But I don't know how to do that, and can't find any info on how to do it in my case.
Method 2.
My second best attempt is extracting the structure directly from the bamt05c.img file to the pxeserver. Then in the pxeconfig set the kernel command line like this:
kernel bamt/live/vmlinuz
append initrd=bamt/live/initrd.img boot=live config splash vga=0x317 hostname=bamt-miner fetch=tftp://192.168.0.10/bamt/live/filesystem.squashfs
When I test booting this from a diskless virtual machine, it works. Gnome loads and everything seems to work perfectly, except that it can't mine because there's no gpu (obviously).
So then I test it in an actual mining rig, it seems to boot perfectly, until it attempts to open Gnome. But instead of loading the GUI, it just shows a blank screen with a cursor in the top left corner. I can SSH into it at this point, but nothing is working and it won't mine. I have no idea why. In theory, this booting method should be exactly the same as if it's boot from a usb, because it's using the same exact image.
Can anyone offer any advice on getting either method working? I prefer method 1, because it's easier to update config files without having to unpackage/repackage the filesystem. But I'll take whatever works.