PXE booting Linux qemu kvm VMs with Windows DHCP and WDS

[UPDATE]: Read the updated article here

So VMware Server 2.x on Fedora 11 has been driving me nuts. I recently re-imaged my workstation and decided to ditch VMware Server and give Linux qemu-kvm a try since it is now the default hypervisor in Fedora and will be the standard hypervisor going forward in Red Hat Enterprise Linux (http://www.redhat.com/rhel).

We are an almost exclusively Windows shop so we use Windows DHCP servers and Windows Deployment Services (WDS/RIS) server to image all of our workstations and servers via PXE booting. If we were using an ISC dhcpd server things would probably have been a lot easier. Below I describe how I get things (partially) working.

Well, as we all know, each solution to a problem will also itself have problems. I had some issues getting my qemu-kvm machines to PXE boot off of a Windows DHCP server and WDS server.

As of right now I can only get a qemu-kvm machine to reliably PXE boot off of the older Microsoft Remote Installation Services (RIS) PXE, Basically I just had to set some DHCP options. Finding the Bootfile Name path was the hardest part.

Here are my DHCP scope options to PXE boot a qemu-kvm VM with the Microsoft networking infrastructure:

066 Boot Server Host Name -
067 Bootfile Name - OSChooser\i386\startrom.com

I can PXE boot a VM everytime with these scope options.

However, RIS is going away (gone), and the new Windows Deployment Services (WDS) network boot program (wdsnbp.com) seems to have issues PXE booting with the etherboot ROMs as shipped with Fedora 11. The VM will sporadically boot, but most if the time will hang after it gets it's DHCP address.

Here is what shows on the screen when wdsnbp.com DOES work:

Downloaded WDSNBP
Architecture:x 64
Contacting Server

Eventually the VM with give a TFTP failure. I have yet to be able to get PXE booting working with wdsnbp.com If you have more information, leave us a comment.

When I have more information or get PXE booting working, I'll update this thread.

Here are some good reference threads for more information:

Thread that describes what happens in a WDS/RIS PXE boot:

OS Deployment with PXE/Xen and Etherboot:

Thanks for stopping by.