Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version='1.0' encoding='UTF-8'?>
- <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
- <!--
- macOS libvirt XML configuration.
- Run "virt-xml-validate macOS-libvirt-Catalina.xml" to validate this file.
- To install this file, you may place it at ~/.config/libvirt/qemu/
- and run: virsh define macOS-libvirt.xml.
- This configuration has been tested in Ubuntu 20.04 with stock QEMU-KVM.
- Move/rename images and loader/nvmram files and paths as you wish.
- !!! Don't forget to replace carlito with your values !!!
- Adjust memory and currentMemory to 3145728 if you want only 3 GiB.
- Consider removing some cpu features if your hardware lacks support.
- Replace spice with vnc if you prefer it.
- Current network configuration is a local bridge (192.168.12x.x).
- Change it to if you prefer a public bridge instead:
- Change interface to <interface type='user'>
- and remove the <source bridge='virbr0'/>
- Or use virt-manager to edit this line instead of virsh edit.
- Note: Default configuration caused severe clock problems
- under Fedora 27 w/ i7-5820K. This is because Darwin uses
- tsc (time since last tick) for time, and for me did not
- fall back to rtc in the event of a clock mismatch with
- libvirt's default time source. Therefore we must explicitly
- give the clock a tsc timer for kvm to pass to the guest.
- See comments on the <kvm> and <clock> attributes.
- -->
- <name>MacOS-youtube</name>
- <title>MacOS-youtube</title>
- <memory unit='KiB'>4194304</memory>
- <currentMemory unit='KiB'>4194304</currentMemory>
- <vcpu placement='static'>4</vcpu>
- <os>
- <type arch='x86_64' machine='pc-q35-4.2'>hvm</type>
- <!-- We don't need patched OVMF anymore when using latest OpenCore, stock one is okay -->
- <loader readonly='yes' type='pflash'>/home/carlito/OSX-KVM/OVMF_CODE.fd</loader>
- <nvram>/home/carlito/OSX-KVM/OVMF_VARS.fd</nvram>
- </os>
- <features>
- <acpi/>
- <apic/>
- </features>
- <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>restart</on_crash>
- <devices>
- <emulator>/usr/bin/qemu-system-x86_64</emulator>
- <disk type='file' device='disk'>
- <driver name='qemu' type='qcow2' cache='writeback' io='threads'/>
- <source file='/home/carlito/OSX-KVM/OpenCore/OpenCore.qcow2'/>
- <target dev='sda' bus='sata'/>
- <boot order='2'/>
- <address type='drive' controller='0' bus='0' target='0' unit='0'/>
- </disk>
- <disk type='file' device='disk'>
- <driver name='qemu' type='qcow2' cache='writeback' io='threads'/>
- <source file='/home/carlito/OSX-KVM/mac_hdd_ng.img'/>
- <target dev='vdb' bus='virtio'/>
- <boot order='1'/>
- </disk>
- <disk type="file" device="disk">
- <driver name="qemu" type="raw" cache="writeback"/>
- <source file="/home/carlito/OSX-KVM/BaseSystem.img"/>
- <target dev="vdc" bus="virtio"/>
- <boot order="3"/>
- </disk>
- <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'/>
- <controller type='pci' index='1' model='pcie-root-port'>
- <model name='pcie-root-port'/>
- <target chassis='1' port='0x8'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
- </controller>
- <controller type='pci' index='2' model='pcie-root-port'>
- <model name='pcie-root-port'/>
- <target chassis='2' port='0x9'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
- </controller>
- <controller type='pci' index='3' model='pcie-root-port'>
- <model name='pcie-root-port'/>
- <target chassis='3' port='0xa'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
- </controller>
- <controller type='pci' index='4' model='pcie-root-port'>
- <model name='pcie-root-port'/>
- <target chassis='4' port='0xb'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
- </controller>
- <controller type='pci' index='5' model='pcie-root-port'>
- <model name='pcie-root-port'/>
- <target chassis='5' port='0xc'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/>
- </controller>
- <controller type='pci' index='6' model='pcie-root-port'>
- <model name='pcie-root-port'/>
- <target chassis='6' port='0xd'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/>
- </controller>
- <controller type='pci' index='7' model='pcie-root-port'>
- <model name='pcie-root-port'/>
- <target chassis='7' port='0xe'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/>
- </controller>
- <controller type='virtio-serial' index='0'>
- <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
- </controller>
- <controller type='usb' index='0' model='ich9-ehci1'>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
- </controller>
- <controller type='usb' index='0' model='ich9-uhci1'>
- <master startport='0'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
- </controller>
- <controller type='usb' index='0' model='ich9-uhci2'>
- <master startport='2'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
- </controller>
- <controller type='usb' index='0' model='ich9-uhci3'>
- <master startport='4'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
- </controller>
- <!-- Make sure you put your nic in bus 0x0 and slot 0x0y(y is numeric), this will make nic built-in and apple-store work-->
- <interface type="bridge">
- <mac address="52:54:00:e6:85:40"/>
- <source bridge="br0"/>
- <model type="virtio"/>
- <address type="pci" domain="0x0000" bus="0x00" slot="0x00" 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>
- <channel type='unix'>
- <target type='virtio' name='org.qemu.guest_agent.0'/>
- <address type='virtio-serial' controller='0' bus='0' port='1'/>
- </channel>
- <graphics type='spice' autoport='yes'>
- <listen type='address'/>
- </graphics>
- <video>
- <model type="virtio" heads="1" primary="yes"/>
- </video>
- <!-- If you wanna passthrough GPU, make sure the gfx and audio are in the same bus (like 0x01) but different function (0x00 and 0x01)-->
- <!-- <hostdev mode='subsystem' type='pci' managed='yes'>
- <driver name='vfio'/>
- <source>
- <address domain='0x0000' bus='0x2d' slot='0x00' function='0x0'/>
- </source>
- <rom file='/mnt/disks/backups/BIOS/RX580/Ellesmere.rom'/>
- <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0' multifunction='on'/>
- </hostdev>
- <hostdev mode='subsystem' type='pci' managed='yes'>
- <driver name='vfio'/>
- <source>
- <address domain='0x0000' bus='0x2d' slot='0x00' function='0x1'/>
- </source>
- <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x1'/>
- </hostdev> -->
- <!-- If you wanna passthrough onboard audio(like 30:00.4), make sure you put it in bus 0x00 and slot 0x0y(y is numeric), otherwise AppleALC won't recognized it -->
- <!-- <hostdev mode='subsystem' type='pci' managed='yes'>
- <driver name='vfio'/>
- <source>
- <address domain='0x0000' bus='0x30' slot='0x00' function='0x4'/>
- </source>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
- </hostdev> -->
- <memballoon model='none'/>
- </devices>
- <!-- Note: Enable the next line when SELinux is enabled -->
- <!-- seclabel type='dynamic' model='selinux' relabel='yes'/> -->
- <qemu:commandline>
- <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='-usb'/>
- <qemu:arg value='-device'/>
- <qemu:arg value='usb-tablet'/>
- <qemu:arg value='-device'/>
- <qemu:arg value='usb-kbd'/>
- <qemu:arg value='-cpu'/>
- <qemu:arg value='Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check'/>
- <!-- <qemu:arg value='Penryn,vendor=GenuineIntel,+hypervisor,+invtsc,kvm=on,+fma,+avx,+avx2,+aes,+ssse3,+sse4_2,+popcnt,+sse4a,+bmi1,+bmi2'/> -->
- <!-- If you wanna use cpu host-passthrough mode, uncomments below-->
- <!-- <qemu:arg value='host,vendor=GenuineIntel,+hypervisor,+invtsc,kvm=on,+fma,+avx,+avx2,+aes,+ssse3,+sse4_2,+popcnt,+sse4a,+bmi1,+bmi2'/> -->
- <!-- If you wanna use cpu emulating mode like Skylake-Server, uncomments below-->
- <!-- <qemu:arg value='Skylake-Server,vendor=GenuineIntel,+hypervisor,+invtsc,kvm=on,+fma,+avx,+avx2,+aes,+ssse3,+sse4_2,+popcnt,+sse4a,+bmi1,+bmi2'/> -->
- </qemu:commandline>
- </domain>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement