Running OSX on VMware Player

DISCLAIMER: Apple licensing only allows installing OSX on “Apple-labeled computer”, and does not allow for the virtualization of OSX on any other hardware. Installing OSX on non-Apple hardware is in violation of the End User License Agreement. This article is a proof of concept and for educational purposes only.
NOTE:This guide was created using a free VMware Player, genuine Retail Snow Leopard DVD, trial-and-error approach, and some googling for vmware tools. Two very useful sources areinsanelymac.com forum and this blog.

It is possible to install the MAC OSX Snow Leopard on VMware Player, but a custom bootloader is required. For this tutorial I have used the VMware Tools bootloader.

1. Buy a retail Snow Leopard install DVD. It is rather cheap, and you do not commit software piracy this way. You also credit Apple for their hard work.

Download VMware Tools for the Mac OSX. This ISO image contains both the Tools installer and functions as an EFI bootloader. I found a working package here.

2. Make sure you have a CPU supported by OSX:

  • Intel Core 2 Duo
  • Intel Core 2 Quad
  • Intel i3/i5/i7
  • Intel  Xeon

The physical CPU matters, because virtualization is basically just a smart address translation and the virtual machine still runs on physical CPU. OSX will not boot on Pentium Dual Core!
Also make sure to set the same amount of virtual CPUs as the number of cores of the host machine. This will prevent error messages similar to these below:

Loading Darwin/x86
Invalid front-side bus frequency 66000000 Hz.
Disabling the CPU …

When this happens, the VMware will halt and prompt for a Virtual Machine restart.

3. Open VMware Player, Create a new VM: File -> Create a New Virtual Machine…

4. Choose “I will install Operating System Later” and click Next

5. Select “Other” operating system and choose “FreeBSD 64-bit” from the “Version” drop down list, click Next

6. Enter the name and location, click Next

7. Add at least a 20-gigabytes virtual hard drive.

8. Save the VM and close Player. Find the VMX file of your Virtual Machine and replace the contents of your file with the one below (use notepad.exe or equivalent). Then customize file names and settings. I have customized my VMX file the following way:

.encoding = "windows-1250"
config.version = "8"
virtualHW.version = "7"
maxvcpus = "4"
scsi0.present = "TRUE"
scsi0.virtualDev = "lsilogic"
memsize = "2048"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "Test MacOS install.vmdk"
ide1:0.present = "TRUE"
ide1:0.fileName = "bootloader.iso"
ide1:0.deviceType = "cdrom-image"
floppy0.startConnected = "FALSE"
floppy0.fileName = ""
floppy0.autodetect = "TRUE"
ethernet0.present = "TRUE"
ethernet0.connectionType = "bridged"
ethernet0.virtualDev = "e1000"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.addressType = "generated"
usb.present = "TRUE"
ehci.present = "TRUE"
sound.present = "TRUE"
sound.fileName = "-1"
sound.autodetect = "TRUE"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
roamingVM.exitBehavior = "go"
displayName = "Mac OS X 10.6"
guestOS = "darwin10-64"
nvram = "Test MacOS install.nvram"
virtualHW.productCompatibility = "hosted"
extendedConfigFile = "Test MacOS install.vmxf"
ethernet0.generatedAddress = "00:0c:29:ad:da:dd"
tools.syncTime = "FALSE"
uuid.location = "56 4d 22 b6 82 d7 cf f3-55 7c cc f2 17 18 1e 69"
uuid.bios = "56 4d 22 b6 82 d7 cf f3-55 7c cc f2 17 18 1e 69"
cleanShutdown = "FALSE"
replay.supported = "FALSE"
replay.filename = ""
scsi0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "16"
usb.pciSlotNumber = "32"
ethernet0.pciSlotNumber = "33"
sound.pciSlotNumber = "34"
ehci.pciSlotNumber = "35"
vmci0.pciSlotNumber = "36"
vmotion.checkpointFBSize = "16777216"
ethernet0.generatedAddressOffset = "0"
vmci0.id = "347938831"
tools.remindInstall = "FALSE"
ich7m.present = "TRUE"
keyboard.vusb.enable = "TRUE"
mouse.vusb.enable = "TRUE"
usb:0.present = "TRUE"
usb:1.present = "TRUE"
usb:1.deviceType = "hub"
usb:0.deviceType = "mouse"
monitor.virtual_exec = "hardware"
monitor.virtual_mmu = "software"
ide1:0.startConnected = "TRUE"
disable_acceleration = "FALSE"
checkpoint.vmState = ""
ide1:0.autodetect = "FALSE"
vmi.present = "FALSE"
smc.present = "FALSE"

Settings in bold italics should reflect your settings and file names. maxvcpus should reflect the amount of physical cores of your CPU, memsize contains the amount of memory reserved for the Virtual Machine. Also, change the guestOS to “darwin10-64”.

9. Open the VMware Player again, click “Play Virtual Machine“. Click “I’ve copied it” when VMware prompts you about the customized VMX file.

10. When bootloader prompts you, insert the Snow Leopard retail disk to your drive and change the settings of CDROM in Virtual Machine: Virtual Machine -> Removable Devices -> CD/DVD (IDE) -> settings
Choose your physical drive (D:, E:, F:, etc.), make sure there is an “x” in the Connected field, and press OK.

Note: the VMware tools iso contains a bootloader. It will unmount automatically just after booting, so in case you restart your Mac OSX, you will be greeted by the cold and unwelcome “Operating system not found”. Fear not, instead go to CD/DVD (IDE) menu again and switch it into connected state. Afterwards jut go to Virtual Machine -> Send Ctrl-alt-del. Normal power cycling does not require this, because VMware knows to connect the bootloader iso at power on.

11. Boot loader will detect the Mac OS DVD and will prompt either to boot or change boot options. Press F8 to change boot options and write “-v”. This will force the verbose mode, which makes it easier to debug in case there is a problem and installer does not start.

ToDo:

12. How to format the drive.

13. Install Mac OSX

14. Run update to 10.6.8

15. Install VMware tools


This site uses Akismet to reduce spam. Learn how your comment data is processed.