OS X on OS X

Running OS X on VirtualBox

About This Mac

Virtual OS X on Macintosh

OS X on VirtualBox is nothing but all kinds of troubles. Even though OS X guests are now supported in the lastest VirtualBox, it still has several issues. After investigated the boot process of OS X, I finally made OS X Lion and later working in VirtualBox.


Requirement

  1. Install OS X.app purchased in Mac App Store
  2. iESD

VirtualBox Settings

  • Operating System Version: Mac OS X (64 bit)
  • Base Memory: 2048 MB (larger is better)
  • Enable EFI

In the lastest VirtualBox, all the default settings work well.

Some people encountered black screen upon booting the virtual machine. They reported that changing the default chipset ICH9 to PIIX3 fixes this issue.


Prepare Install Disk

gem install iesd

iESD requires ruby-1.9.2 or later.

El Capitan

Apple finally upgraded the MBR based BaseSystem.dmg in favor of GPT, which is not yet fully supported by VirtualBox EFI. However, it is possible to upgrade from existing Yosemite installation.

Yosemite & Mavericks

The new InstallESD.dmg is not bootable. Therefore, we need to create a bootable install disk with BaseSystem.dmg.

iesd -i /Applications/Install\ OS\ X\ Yosemite.app -o Yosemite.dmg -t BaseSystem

All Macs using Intel Haswell CPU (Macs after 2013) need to fake their CPU as Ivy Bridge in order to boot the virtual machine. Thank @danmccombs for this tip.

VBoxManage modifyvm <vmname> --cpuidset 00000001 000306a9 00020800 80000201 178bfbff

On Mac Pro Early 2009 and other Macs that have ECC memory, AppleTyMCEDriver.kext will cause a kernel panic during the boot. Thus we need to remove it.

iesd -i /Applications/Install\ OS\ X\ Yosemite.app -o Yosemite.dmg -t BaseSystem --uninstall-extension AppleTyMCEDriver.kext

Mountain Lion & Lion

The lastest VirtualBox does not require modifying InstallESD.dmg any more.

However, if your virtual machine was freezed during the boot process due to AppleIntelCPUPowerManagement.kext, you need to install NullCPUPowerManagement.kext.

iesd -i /Applications/Install\ OS\ X\ Mountain\ Lion.app -o Mountain\ Lion.dmg --install-extension NullCPUPowerManagement.kext

Install

The install process is same as normal OS X install on Mac.


Done

OS X El Capitan on VirtualBox


I’m NOT talking about Hackintosh

SOFTWARE LICENSE AGREEMENT FOR OS X

License from Mac App Store. If you obtained a license for the Apple Software from the Mac App Store, then subject to the terms and conditions of this License and as permitted by the Mac App Store Usage Rules set forth in the App Store Terms and Conditions(“Usage Rules”), you are granted a limited, non-transferable, non-exclusive license:

to install, use and run up to two (2) additional copies or instances of the Apple Software within virtual operating system environments on each Mac Computer you own or control that is already running the Apple Software, for purposes of: (a) software development; (b) testing during software development; (c) using OS X Server; or (d) personal, non-commercial use.