Host System Details
Ubuntu 15.10 running on i5-6500 CPU.
Fedora 24 running on i5-6500 + i7-6600U CPU.
Tested with QEMU 2.4.1 and QEMU 2.5.
AMD CPU(s) are known to be problematic. AMD FX-8350 works but Phenom II X3 720 does not.
Intel VT-x / AMD SVM is required.
Download OS X El Capitan or macOS Sierra installer from Apple App Store.
Clone this repository. Files included in this repository are needed for ISO creation.
git clone https://github.com/kholia/OSX-KVM.git
Run the ISO creation script
create_install_iso.shincluded in this repository, making sure to use 'sudo'.
This script supports specifying the path to OS X / macOS installation application manually via the
Copy the ISO from your Mac to your QEMU/KVM machine.
boot-macOS.sh file for a more solid alternate to the following virsh method.
Create a virtual HDD image where the operating system will be installed.
qemu-img create -f qcow2 mac_hdd.img 64G
macOS-libvirt.xmlfile and change file paths for
Install_OS_X_10.11_El_Capitan.iso(bootable ISO image) and
Create a VM by running the following command
virsh --connect qemu:///system define macOS-libvirt.xml
Start the VM in virt-manager and hit return in the console window.
After disk initialization, open a terminal window (in the Utilities menu) and recursively copy the /Extra folder to the newly initialized target volume using
cp -av /Extra "/Volumes/NewVolumeName"
For macOS Sierra change the CPU model from
boot-macOS.shscript already has this change.
While booting from the macOS Sierra ISO installer, you might get stuck on the "Language Chooser" menu bar (with no option to launch Disk Utility). The solution is to wait for a few seconds on the "Language Chooser" screen itself without pressing the forward button.
Host machine may need the following tweak for this to work,
echo 1 > /sys/module/kvm/parameters/ignore_msrs
Type the following in the bootloader if the guest VM fails to boot (some older ISO images may require this),
If you see "hdiutil: attach failed - Resource busy" error message during the ISO creation step, quit the "Install macOS Sierra" program and unmount (eject) the "Install macOS Sierra" device. Disk Utility can help for unmouting disk images.
$ hdiutil info $ hdiutil detach /dev/disk2 # or something similar
PJ Meyer (pjmeyer) - compatibility with modern versions of GNU mktemp
Robert DeRose (RobertDeRose) and Dirk Bajohr (isolution-de) - macOS support
Fritz Elfert (felfert) - cleanups, better documentation, and nicer ISO creation script
Ian McDowell (IMcD23) - more documentation, and better ISO creation script
voobscout - libvirt XML file
Evgeny Grin (Karlson2k) - for the original ISO creation script
Gabriel L. Somlo - for getting things started
http://www.insanelymac.com/ - Enoch bootloader