Thursday, September 13, 2012

ESXi 5.1 on MacBook 4,1

Well...  I got ESXi 5.0 installed on the MacBook but I was unable to get Mountain Lion to work.  VMWare just came out with ESXi 5.1 which supports Mountain Lion so I attempted to install ESXi 5.1 on a USB key and get it up and running on my MacBook.  5.1 was a little different from 5.0 as the appears to operate differently...?  Anyways, what I had to do was slipstream the sky2 driver into the ESXi 5.1 image, boot into "ESXi 'No Network Adapters Found'" then Fn-Option-F1 into the console.  I then typed the following commands:

vmkload_mod sky2
esxcfg-init -n
vmkload_mod lvmdriver

Without the lvmdriver the install would not see the storage (USB or HDD)

I am now installing ESXi 5.1 onto my MacBook.  Hopefully, I'll be able to run Mountain Lion from it :)


Myers Carpenter said...


I have the exact same laptop and the same crazy idea. With your help I got thru the installer, but after rebooting it doesn't appear that either the hard drive or the network adapter.

To get the installer to work I downloaded "VMware-VMvisor-Installer-5.1.0-799733.x86_64.iso" and and used unetbootin to put the iso on a usb flash drive. First it hung on "initializing acpi" then I put the usb disk back into my other laptop, and edited the BOOT.CFG changing this line:



kernelopt=runweasel noACPI

Then I

mkdir -p tmp/etc/vmware/
echo "regtype=linux,bus=pci,id=11ab:4354 0000:0000,driver=sky2,class=network
regtype=linux,bus=pci,id=11ab:4362 0000:0000,driver=sky2,class=network
regtype=linux,bus=pci,id=11ab:436A 0000:0000,driver=sky2,class=network" > tmp/etc/vmware/
cd tmp
bsdtar -cvzf sky2.tgz etc

I copied that sky2.tgz to the USB Disk.
Then in BOOT.CFG I added "--- sky2.tgz" to the end of the "modules=" line

I booted, got to "No Network Adapters Found" Fn-Option-F1 into the console.

vmkload_mod sky2
esxcfg-init --auto-network
vmkload_mod lvmdriver

Hit Fn-Option-F1 and was able to install to the hard drive.

After booting hard drive the main screen says:

"No compatible network adapter found. Please consult the product's Hardware Compatibility Guide (HCG) for a list of supported adapters."

If I hit fn-option-f12 I can see log entries like:

"No FS Driver claimed device `t10.ATA____FUJITSU_MHY2200BH_______ [...]`: Not supported.

I went back to fn-option-f2, then hit fn-f2, turned on ssh and did this:

From the Direct Console User Interface, press F2 to access the System Customization menu.
Select Troubleshooting Options and press Enter.
From the Troubleshooting Mode Options menu, select Enable ESXi Shell.
Enable ESXi Shell
Enable SSH

Press Enter to enable the service.

Hitting fn-option-f1 I was able to log in as root and do

vmkload_mod sky2
esxcfg-init --auto-network
vmkload_mod lvmdriver

I wonder if I can put these in a file in /etc/rc.local.d and get them run at startup?

Myers Carpenter said...

So, I'm stuck trying to create a datastore.

Using ssh to get into the console I think partition 3 is ready to have a datastore added to it:

~ # partedUtil getptbl /dev/disks/vml.010000000020202020202020204b343342543842324a424b4646554a495453
24321 255 63 390721968
1 64 8191 C12A7328F81F11D2BA4B00A0C93EC93B systemPartition 128
5 8224 520191 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
6 520224 1032191 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
7 1032224 1257471 9D27538040AD11DBBF97000C2911D1B8 vmkDiagnostic 0
8 1257504 1843199 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
2 1843200 10229759 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0
3 10229760 390721934 AA31E02A400F11DB9590000C2911D1B8 vmfs 0

~ # /sbin/vmkfstools -C vmfs5 -b 1m -S StorageOfDoom /vmfs/devices/disks/vml.010000000020202020202020204b343342543842324
create fs deviceName:'/vmfs/devices/disks/vml.010000000020202020202020204b343342543842324a424b4646554a495453:3', fsShortName:'vmfs5', fsName:'StorageOfDoom'
deviceFullPath:/dev/disks/t10.ATA_____FUJITSU_MHY2200BH_______________________________K43BT8B2JBKF:3 deviceFile:t10.ATA_____FUJITSU_MHY2200BH_______________________________K43BT8B2JBKF:3
Checking if remote hosts are using this device as a valid file system. This may take a few seconds...
Creating vmfs5 file system on "t10.ATA_____FUJITSU_MHY2200BH_______________________________K43BT8B2JBKF:3" with blockSize 1048576 and volume label "StorageOfDoom".
Usage: vmkfstools -C [vmfs3|vmfs5] /vmfs/devices/disks/vml... or,
vmkfstools -C [vmfs3|vmfs5] /vmfs/devices/disks/naa... or,
vmkfstools -C [vmfs3|vmfs5] /vmfs/devices/disks/mpx.vmhbaA:T:L:P
Error: Invalid argument

So what's the invalid argument? I looked in /var/log/vmkernel.log

2013-02-03T05:22:08.051Z cpu0:11045)VC: 1550: Filesystem probe time 104 msec (devices probed 6 of 7)
2013-02-03T05:22:47.723Z cpu0:11049)LVM: 7491: Initialized t10.ATA_____FUJITSU_MHY2200BH_______________________________K43BT8B2JBKF:3, devID 510df427-463d5234-403d-0023329a1e6b
2013-02-03T05:22:47.743Z cpu1:11049)LVM: 7579: Zero volumeSize specified: using available space (194794167808).
2013-02-03T05:22:48.088Z cpu0:11049)WARNING: FSS: 1997: No driver was found that can support type: "vmfs3". Please check that relevant file system driver is loaded.
2013-02-03T05:22:48.088Z cpu0:11049)FSS: 2015: Failed to create FS on dev [510df427-121357b4-2edf-0023329a1e6b] fs [StorageOfDoom] type [vmfs3] fbSize 1048576 => Bad parameter

Why is it trying to create a vmfs3?

What did you do to create a datastore?

Myers Carpenter said...

Last night I took another swing at this. Reinstalled using these directions.

After the first boot I think you need to do this:

vmkload_mod sky2
esxcfg-init --auto-network
vmkload_mod lvmdriver
vmkload_mod vmfs3

After that you will be able to create a vmfs 5 partition from the vSphere client (I know that confused me too. I think the kernel mod is for both vmfs versions).

Also I was unable to get the guest OS's to get a IP address from my DHCP server until I set the network card into promiscuous mode in the vSphere client.

Trentent said...

Nice work Myers! I haven't messed with my MacBook since I tried this little project but thanks for commenting with some nice technical info :)

Macintosh said...

Nice work