Note: SpaceInvaderOne has a community app called macinabox
, and it is a Docker container that can automate the entire process that creates the VM and disks. This guide aims to provide utility in choosing specific macOS versions or bootloaders, and understanding the process of how this repository's resources can be used in hypervisor types (UNRAID, ESXi, etc.).
This guide solely uses the files generated from this repository to construct a VM for use in UNRAID. This means updates to and features of this repository should be compatible with creating VMs in UNRAID. This type of setup also aims to utilize UNRAID's advantages to address items in the Contributing Back section of the main repository, including creating/re-using VM snapshots, build farms, VNC+SSH support, and capacity of delivering a bare-metal-like experience for development. Further customization in setting up Hackintosh on KVM is beyond the scope of this documentation, but feel free to provide relevant supplemental resources.
Follow the Installation Preparation guide and have your disk image mac_hdd_ng.img
and installation media BaseSystem.dmg
ready.
Ensure you have VM support and passthrough parameters prepared (VFIO devices, PCI controllers, VNC remote, etc.). You should also have a way of reading/writing to the appropriate locations in your UNRAID server (I use Krusader
).
Below are sample instructions for setting up the VM. We will keep the necessary files in the same directory for simplicity.
BaseSystem.img
, mac_hdd_ng.img
and OSX-KVM/OpenCore/OpenCore.qcow2
into the directory of your VM
/mnt/user/domains/BigSur
, where domains is the folder for your VMsmacOS-libvirt-Catalina.xml
as a guide
<driver name='qemu' type='qcow2' cache='writeback'/>
<driver name='qemu' type='raw' cache='writeback'/>
<driver name='qemu' type='qcow2' cache='writeback'/>
vmxnet3
or e1000-82545em
to login with your Apple ID or install your apps from the AppStore (consult Resources for other network interface types)EFI o
(Tools > Mount EFI)
OpenCore.qcow2
file copied from this repository.In no particular order,
agdpmod=pikera
is necessary to successfully boot. Change in NVRAM > UUID > boot-args (right-click) > WhateverGreen > agdpmod=pikera
When there is a home for this section, feel free to share optimizations and configurations that require modifications to the qemu args, XML, config plist, etc.
qemu args
<qemu:commandline>
<qemu:arg value='-usb'/>
<qemu:arg value='-device'/>
<qemu:arg value='usb-kbd,bus=usb-bus.0'/>
<qemu:arg value='-device'/>
<qemu:arg value='isa-applesmc,osk=ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc'/>
<qemu:arg value='-smbios'/>
<qemu:arg value='type=2'/>
<qemu:arg value='-cpu'/>
<qemu:arg value='Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check'/>
</qemu:commandline>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。