Last week I had the need to convert an Ubuntu Server installation that I was running under VMWare Workstation 6 to ESX 3.5 update 2. To my dismay, it did not work at first try. The main thing I can impart on this is to make sure you have GCC and the Linux Headers installed before you try to clone or convert the VM. I used the coldclone.iso to convert this machine, which worked great. Here are my steps:
1) Install gcc+ using the 'sudo apt-get install gcc', the latest version seems to work fine.2) Install the linux headers using 'sudo apt-get install linux-headers-$(uname-r)', this will install the headers for the kernel you are currently running.
3) Set the coldclone.iso as the CDROM for your VM Workstation instance and boot to it.
4) Go through all the normal proceedures for cloning a machine with VM Converter. The only change to this is, make sure the 'Power on this Virtual Machine' option is unchecked.
5) Get a soda or coffee while this is converting, sit and enjoy.
6) Once the conversion is complete, go into VCenter or ESX and set the machine type as Ubuntu (32 or 64, whichever you are using).
7) Boot the newly cloned machine on the ESX host.
8) Log into Linux (you didn't forget your password, did you?)
9) I have not tested with the VMW6 tools installed, I installed the ESX tools, so right-click the machine and select Install/Upgrade VMWare Tools.
10) In the Linux machine, issue 'mount /dev/scd0' (or whatever your CDROM happens to be), if you do not know, you can look in /etc/fstab for a clue.
11) Un-Tar the tools to a folder.
12) Launch the vmware-install.pl and take the defaults and select yes to compiling the tools for your kernel (You did install GCC and the Linux Headers from steps 1 and 2, right?).
13) Once the tools are installed, your networking still won't work, this is because the MAC changed between your VMW and ESX installations. To correct this , keep reading :)
14) Issue 'sudo /etc/init.d/networking stop' and 'sudo /etc/udev stop'
15) Edit /etc/udev/rules.d/70-persistent-net.rules file.
16) Notice you have two NICs in there, eth1 will generally be the new one that the VMWare tools generated. All that is needed is to delete the old eth0 (the entire line) and rename any entry in the second line from eth'x' to eth0.
17) Issue 'sudo /etc/init.d/udev start' and 'sudo /etc/init.d/networking start'.
18) That's a lot of work, now what was I going to do with this box anyhow?
The biggest catch in this whole process is that I didn't even think about the MAC changing, so I chased my tail a bit until I caught on. So, now this is done, have happy 'nixing.