Hackintosh: Difference between revisions
iwu |
add qemu |
||
Line 1: | Line 1: | ||
= CentOS 8 = | |||
# Compile the latest version of qemu (5.1.0 as of 2020-10-17) | |||
# Set up https://github.com/foxlet/macOS-Simple-KVM | |||
# Copy over necessary files /usr/share/qemu-kvm/ from newly compiled qemu folder/pc-bios/ folder | |||
# Reference is the xml file below | |||
# virsh define macos.xml | |||
<source type="xml"> | |||
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> | |||
<name>macos-catalina</name> | |||
<uuid>d06d502a-904a-4b34-847d-debf1a3d76c7</uuid> | |||
<memory unit='KiB'>4194304</memory> | |||
<currentMemory unit='KiB'>4194304</currentMemory> | |||
<vcpu placement='static'>4</vcpu> | |||
<os> | |||
<type arch='x86_64' machine='pc-q35-5.1'>hvm</type> | |||
<loader readonly='yes' type='pflash'>/var/lib/libvirt/images/OVMF_CODE.fd</loader> | |||
<nvram>/var/lib/libvirt/images/OVMF_VARS.fd</nvram> | |||
<boot dev='hd'/> | |||
</os> | |||
<features> | |||
<acpi/> | |||
<apic/> | |||
<vmport state='off'/> | |||
</features> | |||
<cpu> | |||
<topology sockets='1' cores='4' threads='1'/> | |||
</cpu> | |||
<clock offset='utc'> | |||
<timer name='rtc' tickpolicy='catchup'/> | |||
<timer name='pit' tickpolicy='delay'/> | |||
<timer name='hpet' present='no'/> | |||
</clock> | |||
<on_poweroff>destroy</on_poweroff> | |||
<on_reboot>restart</on_reboot> | |||
<on_crash>destroy</on_crash> | |||
<pm> | |||
<suspend-to-mem enabled='no'/> | |||
<suspend-to-disk enabled='no'/> | |||
</pm> | |||
<devices> | |||
<emulator>/usr/libexec/qemu-system-x86_64</emulator> | |||
<disk type='file' device='disk'> | |||
<driver name='qemu' type='qcow2'/> | |||
<source file='/var/lib/libvirt/images/ESP.qcow2'/> | |||
<target dev='sda' bus='sata'/> | |||
<address type='drive' controller='0' bus='0' target='0' unit='0'/> | |||
</disk> | |||
<disk type='file' device='disk'> | |||
<driver name='qemu' type='raw'/> | |||
<source file='/var/lib/libvirt/images/macos-catalina.img'/> | |||
<target dev='sdb' bus='sata'/> | |||
<address type='drive' controller='0' bus='0' target='0' unit='1'/> | |||
</disk> | |||
<disk type='file' device='disk'> | |||
<driver name='qemu' type='qcow2'/> | |||
<source file='/var/lib/libvirt/images/macos-catalina.qcow2'/> | |||
<target dev='sdc' bus='sata'/> | |||
<address type='drive' controller='0' bus='0' target='0' unit='2'/> | |||
</disk> | |||
<controller type='usb' index='0' model='ich9-ehci1'> | |||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x7'/> | |||
</controller> | |||
<controller type='usb' index='0' model='ich9-uhci1'> | |||
<master startport='0'/> | |||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x0' multifunction='on'/> | |||
</controller> | |||
<controller type='usb' index='0' model='ich9-uhci2'> | |||
<master startport='2'/> | |||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x1'/> | |||
</controller> | |||
<controller type='usb' index='0' model='ich9-uhci3'> | |||
<master startport='4'/> | |||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x2'/> | |||
</controller> | |||
<controller type='sata' index='0'> | |||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> | |||
</controller> | |||
<controller type='pci' index='0' model='pcie-root'/> | |||
<interface type='bridge'> | |||
<mac address='52:54:00:92:d4:7c'/> | |||
<source bridge='br0'/> | |||
<model type='vmxnet3'/> | |||
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> | |||
</interface> | |||
<serial type='pty'> | |||
<target type='isa-serial' port='0'> | |||
<model name='isa-serial'/> | |||
</target> | |||
</serial> | |||
<console type='pty'> | |||
<target type='serial' port='0'/> | |||
</console> | |||
<input type='mouse' bus='usb'> | |||
<address type='usb' bus='0' port='1'/> | |||
</input> | |||
<input type='keyboard' bus='usb'> | |||
<address type='usb' bus='0' port='2'/> | |||
</input> | |||
<input type='mouse' bus='ps2'/> | |||
<input type='keyboard' bus='ps2'/> | |||
<graphics type='vnc' port='-1' autoport='yes' listen='192.168.86.21'> | |||
<listen type='address' address='192.168.86.21'/> | |||
</graphics> | |||
<sound model='ich9'> | |||
<address type='pci' domain='0x0000' bus='0x00' slot='0x1b' function='0x0'/> | |||
</sound> | |||
<video> | |||
<model type='vga' vram='262144' heads='1' primary='yes'/> | |||
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/> | |||
</video> | |||
<memballoon model='none'/> | |||
</devices> | |||
<qemu:commandline> | |||
<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:arg value='-device'/> | |||
<qemu:arg value='isa-applesmc,osk=ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc'/> | |||
<qemu:arg value='-smbios'/> | |||
<qemu:arg value='type=2'/> | |||
<qemu:arg value='-L'/> | |||
<qemu:arg value='/usr/share/qemu-kvm'/> | |||
</qemu:commandline> | |||
</domain> | |||
</source> | |||
= Resources = | = Resources = | ||
Revision as of 13:54, 17 October 2020
CentOS 8
- Compile the latest version of qemu (5.1.0 as of 2020-10-17)
- Set up https://github.com/foxlet/macOS-Simple-KVM
- Copy over necessary files /usr/share/qemu-kvm/ from newly compiled qemu folder/pc-bios/ folder
- Reference is the xml file below
- virsh define macos.xml
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
<name>macos-catalina</name>
<uuid>d06d502a-904a-4b34-847d-debf1a3d76c7</uuid>
<memory unit='KiB'>4194304</memory>
<currentMemory unit='KiB'>4194304</currentMemory>
<vcpu placement='static'>4</vcpu>
<os>
<type arch='x86_64' machine='pc-q35-5.1'>hvm</type>
<loader readonly='yes' type='pflash'>/var/lib/libvirt/images/OVMF_CODE.fd</loader>
<nvram>/var/lib/libvirt/images/OVMF_VARS.fd</nvram>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<vmport state='off'/>
</features>
<cpu>
<topology sockets='1' cores='4' threads='1'/>
</cpu>
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>
<timer name='hpet' present='no'/>
</clock>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<pm>
<suspend-to-mem enabled='no'/>
<suspend-to-disk enabled='no'/>
</pm>
<devices>
<emulator>/usr/libexec/qemu-system-x86_64</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/ESP.qcow2'/>
<target dev='sda' bus='sata'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/var/lib/libvirt/images/macos-catalina.img'/>
<target dev='sdb' bus='sata'/>
<address type='drive' controller='0' bus='0' target='0' unit='1'/>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/macos-catalina.qcow2'/>
<target dev='sdc' bus='sata'/>
<address type='drive' controller='0' bus='0' target='0' unit='2'/>
</disk>
<controller type='usb' index='0' model='ich9-ehci1'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x7'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci1'>
<master startport='0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x0' multifunction='on'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci2'>
<master startport='2'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x1'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci3'>
<master startport='4'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x2'/>
</controller>
<controller type='sata' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pcie-root'/>
<interface type='bridge'>
<mac address='52:54:00:92:d4:7c'/>
<source bridge='br0'/>
<model type='vmxnet3'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>
</console>
<input type='mouse' bus='usb'>
<address type='usb' bus='0' port='1'/>
</input>
<input type='keyboard' bus='usb'>
<address type='usb' bus='0' port='2'/>
</input>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes' listen='192.168.86.21'>
<listen type='address' address='192.168.86.21'/>
</graphics>
<sound model='ich9'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1b' function='0x0'/>
</sound>
<video>
<model type='vga' vram='262144' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
</video>
<memballoon model='none'/>
</devices>
<qemu:commandline>
<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:arg value='-device'/>
<qemu:arg value='isa-applesmc,osk=ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc'/>
<qemu:arg value='-smbios'/>
<qemu:arg value='type=2'/>
<qemu:arg value='-L'/>
<qemu:arg value='/usr/share/qemu-kvm'/>
</qemu:commandline>
</domain>
Resources
- How Kernel Prelinking works on macOS Catalina (or not) (ao 2020-10-16)
- New and Improved Mac OS Tutorial, Part 1 (accessed on 2020-10-16)
- Running Mac OS X as a QEMU/KVM Guest by Somlo - written in 2013 (accessed on 2020-10-16)