====== How to use Etherboot in a VMware virtual machine ======
===== Making VMware boot Etherboot =====
You might have wondered wether VMware can run Etherboot. And yes indeed, that is possible.
VMware is known to emulate a /lance/-chipset ethernet PCI card. This emulation seems to do well enough to work with all those supported guest systems' drivers, but unfortunately, because of code relocation issues, the etherboot /lance/ driver will not work in a virtual machine. To overcome this reason, the /pcnet32/ driver has been written - with that driver, Etherboot 5.2 should work with VMware version 4.5 and above (olders might have trouble - please update if you happen to test that).
Etherboot in older VMware versions might give the following error:
VMWare Workstation Error
*** VMWare Workstation internal monitor error (bug 1254)
*** This bug generally occurs when attempting to run an OS/2 guest operating system. This operating system is not supported by VMWare Workstation at this time.
==== ...using a virtual floppy drive ====
The easiest method to run Etherboot inside VMWare is using a virtual floppy disk.
You might retrieve one from [[http://www.rom-o-matic.net/|Rom-O-Matic]], use the .zdsk file format there.
If you compile etherboot yourself, use a command like make bin/pcnet32.zdsk to create that file.
VMware does not like floppy files with odd and too small sizes, it seems. Success has been reported with using the following commands:
cat pcnet32.zdsk > etherboot.fpy
dd if=/dev/zero count=1000 >> etherboot.fpy
and then, of course, using that file as a floppy image. You will of course need neither virtual hard drive nor cd-rom, just a working network setup.
==== ...patching the VMware BIOS ====
There have been reports of successfully putting EtherBoot into a VMware BIOS.
Furthermore, there are new methods to:
* replace the PXE BootROM in VMware with EtherBoot
* to use EtherBoot ROM as network BootROM in Bochs.
[[vmwarebios|A detailled description for VMware and Bochs is available here]].
===== Server-side setup =====
For the server-side, you most probably will want to use the ISC DHCPD - it works pretty much the same like on regular ethernet networks except the network device name connected to the VMWware virtual network will happen to be different (of course, dependant on which network setup you choose for your VMware).
Beware of trusting the VMware machines' hardware addresses - they might not be fixed, so do not rely on them too much.