So, I successfully got Mac OS X 10.6 Snow Leopard and Mac OS X 10.7 Lion installed and running smoothly, with VMware tools, in ESXi 5.0 Update 1 on a Dell Precision 490 (2 x dual-core Intel Xeon 5160 processors, 32GB RAM capacity, 12GB RAM installed, Perc 5/i RAID5 across 5 1TB drives + battery backup module).
However, it was not simple, and it was not without some pain, so I wanted to share my experiences here so that others might benefit from it, and also so that Donk or MSoK might point out if I made anything harder on myself than it needed to be.
Installing ESX 5.0 Update 1 was a breeze. I actually already had 4.1 Update 1 installed, and upgraded just so that I could run Snow and Lion on it. I've tried for years to run Leopard and Snow on 3.5 and 4.0 and 4.1 using three other methods, but none of them worked before. This is the first one that worked.
Installing Donk's unlocker on ESXi was a breeze. Done and rebooted in 5 minutes.
My first attempt at a Snow Leopard install was a fail. I attached the ISO to the DVD and booted, but I could only get it to go the grey Apple screen. After two or three minutes, the Apple turned into the dreaded circle with a slash through it. After looking around a bit, I decided maybe my problem was the CPUID mask (even though I didn't have one of the CPUs listed as problem CPUs, I did have a similar one), so I decided to give those a try.
By the way, for you ESXi users who DO actually need it, there is a much easier way to set the CPUID mask for ESXi. Instead of adding this to the VMX file:cpuid.1.eax = "0000:0000:0000:0001:0000:0110:1010:0101"
Which requires removing the VM from inventory, downloading the VMX file, changing it, re-uploading it, and re-adding the VM to inventory, there's a GUI interface for changing it. Edit the VM settings with the VM powered off, click on the Options tab, click on the CPUID Mask menu item, click Advanced, scroll to the bottom of the window on the Virtual Machine Default tab, and under "Level 1
" set "eax" to 0000:0000:0000:0001:0000:0110:1010:0101. After clicking OK and OK, the correct directive will be added to the VMX file for you. Much easier.
However, this did not successfully fix the boot problem. So after a bit more looking around, I figured out that I could delay the boot time (I set it to 5000 ms) and press F8 on the VMware screen to get to the EFI menu. I booted from the DVD in verbose mode using the EFI menu:
- Select "Boot Manager" and then "EFI Internal Shell (Unsupported Option)"
- Type the following commands:Shell> fs0:fs0\:> cd \usr\standalone\i386fs0:\usr\standalone\i386> boot -v
Now I could see what the problem was
: "Still waiting for root device" gets printed over and over again. Removing the CPUID mask did not resolve the issue, so I knew that wasn't the cause and that I didn't even need the CPUID mask, if I'd gotten that far. After looking around about the "Still waiting for root device" message, I discovered (thanks to this blog
) it didn't like my IDE virtual CD/DVD drive. What to do? I removed the CD/DVD drive and tried to re-create it as SCSI, but found that my only options were IDE 0:0, IDE 0:1, IDE 1:0 and IDE 1:1. There were no SCSI options like some had suggested.
So I popped my retail SL disk into my host DVD drive, removed the CD/DVD drive and added a virtual SCSI device pointing to my real DVD drive, but no matter what I did or how long I waited or anything, my virtual machine could not find the DVD to even boot from it (so I wasn't even making it to the gray Apple screen now ... backwards progress). After a bit more reading, I decided to try my USB DVD drive. My understanding was that the USB drive was supposed to be set up the same way ... as a virtual SCSI device pointing to the USB drive; however, the USB drive was not showing up as an option on my virtual SCSI device.This knowledge base article
set me straight, explaining that you can't hot plug USB drives in ESXi. As an alternative to restarting the host, running this command on the host sufficed (and, if you're comfortable enough running Donk's unlocker, you should be comfortable running this):/etc/init.d/hostd restart &
I added the SCSI device and there was my USB DVD drive. I booted the VM and voila
, I could boot from the retail install disk. Within 30 minutes I had Snow Leopard installed, running and updated to the latest version.
Now, I could have cloned the machine and upgraded the clone to Lion, but I'm a stickler for clean installs; I don't like upgrading. So I created a Lion boot disk using these instructions
, then created an ISO from that boot disk. As expected, Lion would not boot from the virtual CD/DVD ISO (I had to try), so I popped it in the USB DVD Drive and, once again, within 30 minutes I had a running, updated Lion install.
VMware Tools installed on both machines seamlessly via the "Install VMware Tools" menu in vSphere Client.
So there you have it. Hopefully this will help someone else. And maybe Donk or MSoK could point out one or more stupid mistakes I was making that would have made this whole process easier otherwise.