VMware Communities > People

nick.couchman's Profile

  • Name: Nick 
  • Email: (Private)
  • Member Since: Jan 13, 2006
  • Last Logged In: May 23, 2009 10:11 AM
  • Status Level: Champion Champion (11,887 points)
  • Location: Denver, CO
  • Occupation: Manager, Information Technology

nick.couchman's Latest Content


Well, we've started up a community project on SourceForge.net for adding drivers to ESX/ESXi (see link below). I've got a couple of Wiki pages out there describing how to get things going, and I've checked the code into SVN for the first driver that I ported - the Realtek 8169 Gigabit Ethernet driver. I also have an initial binary download for this driver for anyone who wants to try it out. The download is in the form of a .tgz file that you can add to the boot configuration of your existing ESXi system (see the Wiki for detailed instructions). It has the r8169.o module and an updated simple.map file.

We're looking for people to help in developing and testing these drivers. Check out the project page:

http://www.sourceforge.net/projects/open-vdrivers

http://open-vdrivers.sourceforge.net

0 Comments Permalink

Well, I think I've finally got it to work - I've modified the RTL8169 driver to be supported under VMware ESX and ESXi! I'll post the patch here before too long, and I hope this will be the first of many additional ESX drivers to come!

2 Comments Permalink

Finally...success for PXE-booting ESXi. Many of the sites I found with instructions on ESXi PXE booting require that you VC and insert a little program into ESXi that contacts the server to get configuration information. While this is very, very cool, for those of us who do not have VC, it isn't very useful.

I noticed early on, when booting ESXi from a USB device, that after you configure ESXi and save the configuration, there's a local.tgz file written out to the /bootbank directory, which is on the partition of the USB stick from which ESXi boots. I extracted this file and found all of the customizations that I had made to my ESXi machine. So, I followed some of the ESXi PXE boot instructions and got all of the correct tarballs on the PXE server, then threw in the local.tgz file that had all the customizations. This worked - mostly. The hostname and datastore configuration was all there, but there was one minor annoyance: the SSL keys and SSH keys for the host didn't "stick" - they changed every time the machine was booted.


Next, I stumbled upon the vim-cmd command, which seems to command just about every aspect of the ESXi host. The vim-cmd command has many, many "sublevels" of commands - the hostsvc/firmware/backup_config command was particularly interesting. This writes all of the necessary local configuration information to a file and then spits out an HTTP URL you can use to download the file. Very, very useful - you get a "configBundle-<hostname>.tgz" file, which contains a Manifest.xml and the local.tgz file. I then made the mistake of trying to extract the local.tgz file and throw that on the PXE server...which results in a PSOD.


Finally, I came across the following document: http://docs.google.com/View?docid=ddcwgcd6_4fs6s7jcf. In this document are PXE instructions, and among the ones at the end it says to put the entire configBundle-<hostname>.tgz file on the PXE server. Voila! Instead of extracting the local.tgz file, I just needed to take the entire configBundle file generated by the vim-cmd command and boot the PXE clients with that file. And everything works now!


On the PXE side I'm using pxelinux and am able to create individual configuration files per MAC address. I then create an individual config file for each ESXi host, and each config file specifies the correct configBundle for each host and now I can boot all of my ESXi servers from the networks. I also created an NFS datastore that allows me to share VMs between hosts (easily - and access the datastore without the need for a VMFS filesystem).

As far as the effort to run ESXi on Whitebox machines, this is fantastic - most of the problems getting ESXi up and running are due to ESXi's limited support for hardware - mainly for storage controllers. While I understand VMware's reasoning behind this, I'm not opposed to working around that particular issue with things like this, and I'm glad VMware has created a hypervisor that can be PXE booted. Instead of having to have a compatible storage controller, you just need a compatible network controller, which you can come by pretty easily and inexpensively.

5 Comments 0 References Permalink

Write your own drafts, invite selected collaborators, or leave it open for all to pitch in.