Jump to content
SpaceInvaderOne

**VIDEO GUIDE** How to Install MacOS Mojave or High Sierra as a VM

1382 posts in this topic Last Reply

Recommended Posts

Posted (edited)

Small issue here trying to add a second network to the mojave vm.

I would like to have 2 networks, I have 2 NICs in the unraid server: one for 192.168.1.x and one for 192.168.2.x.

 

192.168.1.x has internet access and the following configuration:

192.168.1.1: modem/router

192.168.1.204: wireless repeater (connected to 192.168.1.1 via wifi)

192.168.1.203: ethernet to wifi bridge (connected to 192.168.1.204 via wifi and to the unraid server via eth cable)

192.168.1.202: unraid server (connected to 192.168.1.203 via eth cable)

192.168.1.11: Mojave VM inside unraid

192.168.1.21: A MacbookPro (connected to 192.168.1.204 via wifi)

 

192.168.2.x doesn't have internet access and it has the following configuration:

192.168.2.1: A MacbookPro (the same as before)

192.168.2.2: unraid server (connected via eth cable to 192.168.2.1)

192.168.2.3: Mojave VM inside unraid

 

So the macbookpro is configured to use 2 networks, 192.168.1.x (wifi) and 192.168.2.x (cable)

 

The goal is to communicate from the mojave vm to the macbook pro via eth cable in the 192.168.2.x network, keeping internet access in mojave vm in the 192.168.1.x network.

 

I configured unraid to use both NICs in separate networks: I had to swap in network config (in unraid) in "interface rules" "Interface eth0" with "Interface eth1" otherwise it didn't work, I disabled bonding and enabled bridging (so I have br0 and br1).

From the macbook pro I'm able to ping the unraid workstation, both at 192.168.1.202 and at 192.168.2.2.

The Macbook pro can also ping the Mojave VM at 192.168.1.11.

The Mojave VM has internet access with ip 192.168.1.11.

 

I added the second bridge (br1) to the vm, however when I start the mojave vm I cannot even see the apple logo (I have gpu passthrough with dedicated bios), like as I have a no-signal to the monitor: the vm is accessible via vnc, so the vm works.

After adding the second network (192.168.2.x) - both networks are vmxnet3 - to mojave vm I cannot ping it at 192.168.2.3.

 

I can't understand 2 things and cannot track the issues:

1- Why I receive a no-signal to the monitor after adding the second bridge to the vm

2- Why I cannot ping the mojave vm at 192.168.2.3.

 

Any suggestion is welcome :)

 

PS: for @Leoyzen - if you remember I wrote some posts above that I couldn't replicate the slow transfer velocity you had with vmxnet3, as I had more than 2 GBs: I noticed that this only happens if I bond the two NICs in unraid; if not bonded I have about 300 MBs, and this is the third thing I cannot understand.

Edited by ghost82

Share this post


Link to post
On 10/2/2019 at 8:12 PM, david279 said:

@hygoggxSee this line 

 

<topology sockets='1' cores='12' threads='1'/>

 

Delete that then try again

thanks @david279 thats solve the problem, finally I can boot osx

 

but there is another problem now, my usb3.0 controller only recognize usb2.0 drives, if i attach usb3.0 flash drive they dont even detected

Share this post


Link to post
Posted (edited)

Hi,


I'm trying to setup a macOS Mojave VM with GPU passthrough.

I followed all the steps from the video but I can't get the VM to recognize my RX 480, the monitor doesn't turn on and About this Mac doesn't show any GPU at all.

I can however remotely access the VM.

Here are the VM XML and the config.plist XML.

 

Thanks

 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='10' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>macOS Mojave</name>
  <uuid>ee999ef2-b48c-303e-9f2e-c787c7dbd88c</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Linux" icon="linux.png" os="linux"/>
  </metadata>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>8</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='2'/>
    <vcpupin vcpu='1' cpuset='8'/>
    <vcpupin vcpu='2' cpuset='3'/>
    <vcpupin vcpu='3' cpuset='9'/>
    <vcpupin vcpu='4' cpuset='4'/>
    <vcpupin vcpu='5' cpuset='10'/>
    <vcpupin vcpu='6' cpuset='5'/>
    <vcpupin vcpu='7' cpuset='11'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-3.1'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/ee999ef2-b48c-303e-9f2e-c787c7dbd88c_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none'>
    <topology sockets='1' cores='4' threads='2'/>
  </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>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/macOS Mojave/vdisk1.img'/>
      <backingStore/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <alias name='sata0-0-2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x8'/>
      <alias name='pci.1'/>
      <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'/>
      <alias name='pci.2'/>
      <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'/>
      <alias name='pci.3'/>
      <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='0x13'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0x14'/>
      <alias name='pci.5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0x15'/>
      <alias name='pci.6'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
    </controller>
    <controller type='pci' index='7' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='7' port='0xb'/>
      <alias name='pci.7'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
    </controller>
    <controller type='pci' index='8' model='pcie-to-pci-bridge'>
      <model name='pcie-pci-bridge'/>
      <alias name='pci.8'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb'/>
      <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'>
      <alias name='usb'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:b9:f9:1a'/>
      <source bridge='br0'/>
      <target dev='vnet1'/>
      <model type='vmxnet3'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/1'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/1'>
      <source path='/dev/pts/1'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-10-macOS Mojave/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'>
      <alias name='input1'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input2'/>
    </input>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <rom file='/mnt/user/isos/Ellesmere.rom'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x08' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x05ac'/>
        <product id='0x024f'/>
        <address bus='3' device='5'/>
      </source>
      <alias name='hostdev2'/>
      <address type='usb' bus='0' port='2'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x25a7'/>
        <product id='0x2410'/>
        <address bus='3' device='3'/>
      </source>
      <alias name='hostdev3'/>
      <address type='usb' bus='0' port='3'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
  <qemu:commandline>
    <qemu:arg value='-usb'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-mouse,bus=usb-bus.0'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-kbd,bus=usb-bus.0'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='isa-applesmc,osk=<REDACTED>'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='Penryn,vendor=GenuineIntel,kvm=on,+invtsc,+avx,+avx2,+aes,+xsave,+xsaveopt,+ssse3,+sse4_2,+popcnt,vmware-cpuid-freq=on,'/>
  </qemu:commandline>
</domain>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>ACPI</key>
	<dict>
		<key>DSDT</key>
		<dict>
			<key>Name</key>
			<string>q35-acpi-dsdt.aml</string>
		</dict>
	</dict>
	<key>Boot</key>
	<dict>
		<key>DefaultVolume</key>
		<string>LastBootedVolume</string>
		<key>Log</key>
		<true/>
		<key>Secure</key>
		<false/>
		<key>Timeout</key>
		<integer>3</integer>
	</dict>
	<key>Devices</key>
	<dict>
		<key>USB</key>
		<dict>
			<key>AddClockID</key>
			<true/>
			<key>FixOwnership</key>
			<true/>
			<key>HighCurrent</key>
			<true/>
			<key>Inject</key>
			<true/>
		</dict>
	</dict>
	<key>GUI</key>
	<dict>
		<key>Scan</key>
		<dict>
			<key>Entries</key>
			<true/>
			<key>Legacy</key>
			<false/>
			<key>Linux</key>
			<false/>
			<key>Tool</key>
			<true/>
		</dict>
		<key>ScreenResolution</key>
		<string>1920x1080</string>
		<key>Theme</key>
		<string>embedded</string>
	</dict>
	<key>RtVariables</key>
	<dict>
		<key>BooterConfig</key>
		<string>0x28</string>
		<key>CsrActiveConfig</key>
		<string>0x67</string>
		<key>ROM</key>
		<string>UseMacAddr0</string>
	</dict>
	<key>SMBIOS</key>
	<dict>
		<key>BiosReleaseDate</key>
		<string>09/13/2019</string>
		<key>BiosVendor</key>
		<string>Apple Inc.</string>
		<key>BiosVersion</key>
		<string>IM171.88Z.F000.B00.1909131902</string>
		<key>Board-ID</key>
		<string>Mac-B809C3757DA9BB8D</string>
		<key>BoardManufacturer</key>
		<string>Apple Inc.</string>
		<key>BoardSerialNumber</key>
		<string>C02508101GUGPF71F</string>
		<key>BoardType</key>
		<integer>10</integer>
		<key>BoardVersion</key>
		<string>1.0</string>
		<key>ChassisAssetTag</key>
		<string>iMac-Aluminum</string>
		<key>ChassisManufacturer</key>
		<string>Apple Inc.</string>
		<key>ChassisType</key>
		<string>0x09</string>
		<key>EfiVersion</key>
		<string>173.0.0.0.0</string>
		<key>Family</key>
		<string>iMac17,1</string>
		<key>FirmwareFeatures</key>
		<string>0xFC0FE137</string>
		<key>FirmwareFeaturesMask</key>
		<string>0xFF1FFF3F</string>
		<key>LocationInChassis</key>
		<string>Part Component</string>
		<key>Manufacturer</key>
		<string>Apple Inc.</string>
		<key>Mobile</key>
		<false/>
		<key>PlatformFeature</key>
		<string>0x00</string>
		<key>ProductName</key>
		<string>iMac17,1</string>
		<key>SerialNumber</key>
		<string>C02P9PYWGG7L</string>
		<key>SmUUID</key>
		<string>948D469E-0CA7-4386-AB2B-99A7B698E981</string>
		<key>Version</key>
		<string>1.0</string>
	</dict>
	<key>SystemParameters</key>
	<dict>
		<key>InjectKexts</key>
		<string>Yes</string>
		<key>InjectSystemID</key>
		<true/>
	</dict>
</dict>
</plist>

 

Edited by trurl
redact osk

Share this post


Link to post
3 hours ago, vxch00 said:

<qemu:arg value='isa-applesmc,osk=<REDACTED>'/>

Please don't post OSK. Thanks

Share this post


Link to post

Catalina is finally released today. I am wondering how people go along updating to it. Is a fresh new install required? Or can I updated within the VM? I remember in earlier posts that there was a need to update Clover as well? If so, could anyone provide a step-by-step guide how to upgrade Clover within a live VM and then also upgrade the OS to Catalina. I am not using GPU passthrough, which I assume may make things easier?

Share this post


Link to post

You can upgrade from Mojave or a fresh install just make sure your clover is updated in the 5000+ versions. I'm on 10.15.0 right now. Updated up from the development betas.

Share this post


Link to post

There are some clover gcow image you can use in this threat that will work just look back a couple of pages. 

Share this post


Link to post

Thanks both. I'd prefer not to do a fresh install. How can I upgrade Clover to a 5000+ version? Is this something that can be done from within the VM?

Share this post


Link to post
10 minutes ago, steve1977 said:

Thanks both. I'd prefer not to do a fresh install. How can I upgrade Clover to a 5000+ version? Is this something that can be done from within the VM?

This is how I upgrade clover, now at v. 5093

1- Download clover iso from github, it's a tar.lzma archive ( https://github.com/Dids/clover-builder/releases )

2- Download and install Clover configurator, or any other tool able to mount efi partitions on your vm

3- Extract the Clover tar.lzma archive in a folder on your mac vm

4- Mount the extracted iso and copy EFI folder on your desktop

5- Open Clover configurator and mount your EFI partition (on your mac vm)

6- Open EFI partition and EFI folder in two finder windows

7- Overwrite files from EFI folder to EFI partition (overwrite only files you have in your EFI partition)

8- Do not change folder structure on EFI partition, do not delete any file on EFI partition

 

Downloading Catalina right now, I will try to update from mojave, I hope all will go smooth, I will report back.

Share this post


Link to post
Posted (edited)
On 10/4/2019 at 2:58 PM, ghost82 said:

Small issue here trying to add a second network to the mojave vm.

I would like to have 2 networks, I have 2 NICs in the unraid server: one for 192.168.1.x and one for 192.168.2.x.

 

192.168.1.x has internet access and the following configuration:

192.168.1.1: modem/router

192.168.1.204: wireless repeater (connected to 192.168.1.1 via wifi)

192.168.1.203: ethernet to wifi bridge (connected to 192.168.1.204 via wifi and to the unraid server via eth cable)

192.168.1.202: unraid server (connected to 192.168.1.203 via eth cable)

192.168.1.11: Mojave VM inside unraid

192.168.1.21: A MacbookPro (connected to 192.168.1.204 via wifi)

 

192.168.2.x doesn't have internet access and it has the following configuration:

192.168.2.1: A MacbookPro (the same as before)

192.168.2.2: unraid server (connected via eth cable to 192.168.2.1)

192.168.2.3: Mojave VM inside unraid

 

So the macbookpro is configured to use 2 networks, 192.168.1.x (wifi) and 192.168.2.x (cable)

 

The goal is to communicate from the mojave vm to the macbook pro via eth cable in the 192.168.2.x network, keeping internet access in mojave vm in the 192.168.1.x network.

 

I configured unraid to use both NICs in separate networks: I had to swap in network config (in unraid) in "interface rules" "Interface eth0" with "Interface eth1" otherwise it didn't work, I disabled bonding and enabled bridging (so I have br0 and br1).

From the macbook pro I'm able to ping the unraid workstation, both at 192.168.1.202 and at 192.168.2.2.

The Macbook pro can also ping the Mojave VM at 192.168.1.11.

The Mojave VM has internet access with ip 192.168.1.11.

 

I added the second bridge (br1) to the vm, however when I start the mojave vm I cannot even see the apple logo (I have gpu passthrough with dedicated bios), like as I have a no-signal to the monitor: the vm is accessible via vnc, so the vm works.

After adding the second network (192.168.2.x) - both networks are vmxnet3 - to mojave vm I cannot ping it at 192.168.2.3.

 

I can't understand 2 things and cannot track the issues:

1- Why I receive a no-signal to the monitor after adding the second bridge to the vm

2- Why I cannot ping the mojave vm at 192.168.2.3.

 

Any suggestion is welcome :)

 

PS: for @Leoyzen - if you remember I wrote some posts above that I couldn't replicate the slow transfer velocity you had with vmxnet3, as I had more than 2 GBs: I noticed that this only happens if I bond the two NICs in unraid; if not bonded I have about 300 MBs, and this is the third thing I cannot understand.

Adding more than one ethernet sometimes breaks the acpi layout, you have to make sure the graphics location is under gfx0.

Edited by Leoyzen

Share this post


Link to post
7 hours ago, vxch00 said:

Hi,


I'm trying to setup a macOS Mojave VM with GPU passthrough.

I followed all the steps from the video but I can't get the VM to recognize my RX 480, the monitor doesn't turn on and About this Mac doesn't show any GPU at all.

I can however remotely access the VM.

Here are the VM XML and the config.plist XML.

 

Thanks

 


<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='10' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>macOS Mojave</name>
  <uuid>ee999ef2-b48c-303e-9f2e-c787c7dbd88c</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Linux" icon="linux.png" os="linux"/>
  </metadata>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>8</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='2'/>
    <vcpupin vcpu='1' cpuset='8'/>
    <vcpupin vcpu='2' cpuset='3'/>
    <vcpupin vcpu='3' cpuset='9'/>
    <vcpupin vcpu='4' cpuset='4'/>
    <vcpupin vcpu='5' cpuset='10'/>
    <vcpupin vcpu='6' cpuset='5'/>
    <vcpupin vcpu='7' cpuset='11'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-3.1'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/ee999ef2-b48c-303e-9f2e-c787c7dbd88c_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none'>
    <topology sockets='1' cores='4' threads='2'/>
  </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>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/macOS Mojave/vdisk1.img'/>
      <backingStore/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <alias name='sata0-0-2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x8'/>
      <alias name='pci.1'/>
      <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'/>
      <alias name='pci.2'/>
      <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'/>
      <alias name='pci.3'/>
      <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='0x13'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0x14'/>
      <alias name='pci.5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0x15'/>
      <alias name='pci.6'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
    </controller>
    <controller type='pci' index='7' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='7' port='0xb'/>
      <alias name='pci.7'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
    </controller>
    <controller type='pci' index='8' model='pcie-to-pci-bridge'>
      <model name='pcie-pci-bridge'/>
      <alias name='pci.8'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb'/>
      <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'>
      <alias name='usb'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:b9:f9:1a'/>
      <source bridge='br0'/>
      <target dev='vnet1'/>
      <model type='vmxnet3'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/1'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/1'>
      <source path='/dev/pts/1'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-10-macOS Mojave/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'>
      <alias name='input1'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input2'/>
    </input>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <rom file='/mnt/user/isos/Ellesmere.rom'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x08' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x05ac'/>
        <product id='0x024f'/>
        <address bus='3' device='5'/>
      </source>
      <alias name='hostdev2'/>
      <address type='usb' bus='0' port='2'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x25a7'/>
        <product id='0x2410'/>
        <address bus='3' device='3'/>
      </source>
      <alias name='hostdev3'/>
      <address type='usb' bus='0' port='3'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
  <qemu:commandline>
    <qemu:arg value='-usb'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-mouse,bus=usb-bus.0'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-kbd,bus=usb-bus.0'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='isa-applesmc,osk=<REDACTED>'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='Penryn,vendor=GenuineIntel,kvm=on,+invtsc,+avx,+avx2,+aes,+xsave,+xsaveopt,+ssse3,+sse4_2,+popcnt,vmware-cpuid-freq=on,'/>
  </qemu:commandline>
</domain>

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>ACPI</key>
	<dict>
		<key>DSDT</key>
		<dict>
			<key>Name</key>
			<string>q35-acpi-dsdt.aml</string>
		</dict>
	</dict>
	<key>Boot</key>
	<dict>
		<key>DefaultVolume</key>
		<string>LastBootedVolume</string>
		<key>Log</key>
		<true/>
		<key>Secure</key>
		<false/>
		<key>Timeout</key>
		<integer>3</integer>
	</dict>
	<key>Devices</key>
	<dict>
		<key>USB</key>
		<dict>
			<key>AddClockID</key>
			<true/>
			<key>FixOwnership</key>
			<true/>
			<key>HighCurrent</key>
			<true/>
			<key>Inject</key>
			<true/>
		</dict>
	</dict>
	<key>GUI</key>
	<dict>
		<key>Scan</key>
		<dict>
			<key>Entries</key>
			<true/>
			<key>Legacy</key>
			<false/>
			<key>Linux</key>
			<false/>
			<key>Tool</key>
			<true/>
		</dict>
		<key>ScreenResolution</key>
		<string>1920x1080</string>
		<key>Theme</key>
		<string>embedded</string>
	</dict>
	<key>RtVariables</key>
	<dict>
		<key>BooterConfig</key>
		<string>0x28</string>
		<key>CsrActiveConfig</key>
		<string>0x67</string>
		<key>ROM</key>
		<string>UseMacAddr0</string>
	</dict>
	<key>SMBIOS</key>
	<dict>
		<key>BiosReleaseDate</key>
		<string>09/13/2019</string>
		<key>BiosVendor</key>
		<string>Apple Inc.</string>
		<key>BiosVersion</key>
		<string>IM171.88Z.F000.B00.1909131902</string>
		<key>Board-ID</key>
		<string>Mac-B809C3757DA9BB8D</string>
		<key>BoardManufacturer</key>
		<string>Apple Inc.</string>
		<key>BoardSerialNumber</key>
		<string>C02508101GUGPF71F</string>
		<key>BoardType</key>
		<integer>10</integer>
		<key>BoardVersion</key>
		<string>1.0</string>
		<key>ChassisAssetTag</key>
		<string>iMac-Aluminum</string>
		<key>ChassisManufacturer</key>
		<string>Apple Inc.</string>
		<key>ChassisType</key>
		<string>0x09</string>
		<key>EfiVersion</key>
		<string>173.0.0.0.0</string>
		<key>Family</key>
		<string>iMac17,1</string>
		<key>FirmwareFeatures</key>
		<string>0xFC0FE137</string>
		<key>FirmwareFeaturesMask</key>
		<string>0xFF1FFF3F</string>
		<key>LocationInChassis</key>
		<string>Part Component</string>
		<key>Manufacturer</key>
		<string>Apple Inc.</string>
		<key>Mobile</key>
		<false/>
		<key>PlatformFeature</key>
		<string>0x00</string>
		<key>ProductName</key>
		<string>iMac17,1</string>
		<key>SerialNumber</key>
		<string>C02P9PYWGG7L</string>
		<key>SmUUID</key>
		<string>948D469E-0CA7-4386-AB2B-99A7B698E981</string>
		<key>Version</key>
		<string>1.0</string>
	</dict>
	<key>SystemParameters</key>
	<dict>
		<key>InjectKexts</key>
		<string>Yes</string>
		<key>InjectSystemID</key>
		<true/>
	</dict>
</dict>
</plist>

 

1. make sure the video and audio are in same bus as I mentioned a few page ago

2. select 'Fix DTGP' and 'Fix display' in clover

3. select 'AMD RXxx blackscreen patch' in clover

4. use iMacPro1,1 instead of iMac17,1 because you don't have iGPU

 

or use my clover qcow2 file I post

Share this post


Link to post

About Catalina...

 

After downloading catalina I'm unable to install because I have not free space on hd.

 

I have increased vdisk with this command:

"qemu-img resize /path_to_vdisk/vdisk1.img +15G"

and I can see on unraid vdisk has increased from 30 to 45GB.

 

1.thumb.png.7a4b8b426c97c4d206b050ecba76b0a8.png

 

Inside my mac vm I can only see

 

2.png.25c090559b5a82eac1d8f18debf25b4c.png

 

But how do I increase the hd inside mac os?

 

3.png.f103000dc997eec6ec0df2a966bb4905.png

 

Thankyou
Gus

 

Share this post


Link to post
Posted (edited)

Upgraded to Catalina now (upgrade from mojave).

I was not able to install with smbios macpro7,1 nor imacpro1,1: I had the mce related kernel panic (bootloop), I put in clover kexts/other folder the MCEReportDisabler.kext but without success (it seems that my clover is not able to inject kexts? in clover Config I have inject kexts: yes, but it seems it does nothing).

I was not able to install with the gpu passthrough, but all was ok with vnc.

After installation I'm back to macpro7,1 and gpu passthrough and all seems to work ok.

Edited by ghost82

Share this post


Link to post

@ghost82 Thanks for sharing. Are you saying that you were able or unable to upgrade? Thanks for your step-by-step guide to upgrade Clover to 5000+. I haven't dared yet to do the upgrade step. WIll wait your clarification on what worked / didn't work for you.

Share this post


Link to post
Posted (edited)
1 hour ago, steve1977 said:

Are you saying that you were able or unable to upgrade?

Yes, finally I was able to upgrade and all is working good.

To use smbios macpro7,1 I must keep the MCEReportDisabler.kext into my /Library/Extensions otherwise I have kernel panic.

virtio not working for me (I'm not investigating why), have to use vmxnet3.

This the kernel panic for virtio:

kp-virtio.png.36db40a4786fd7ecd91ce20b91024c88.png

 

I also have a notification from the os: "Memory Modules Misconfigured: More than the maximum supported memory is installed in your Mac"

Is there a way to map the ram slots as for example for what we do with the topology line for the cpu? I have 16GB ram in this vm.

Edited by ghost82

Share this post


Link to post

Thanks for your quick reply. I am quite a newbie with MacOS VM and have struggled in the past. I bricked several Mac VMs and always hesitate whether it is even stable enough for me to use this consistently.

 

Before I pull the upgrade trigger, help me understand a bit better what I do:

 

1) Go to Clover config and set smbios to macpro7,1

2) Where to get MCEReportDisabler.kext and where to copy it to?

3) What is virtio and do I need to bother about it? Where to set that I use vmxnet3?

Share this post


Link to post
Posted (edited)

I would suggest the following steps:

- backup your important data on an external hd/pendrive (if you can do a superduper/carbon copy cloner image)

- backup your current clover image

- update your clover image to latest as I explained

- reboot your vm, if the updated clover works, proceed, otherwise replace the new image with your backup through unraid shares, and start again

- set smbios to imac 18,2 (you will not have problem with MCE error)

- if you have gpu passthrough I would disable it and enable only vnc

- reboot and test vnc: I got an error with vnc, stating something like "display is not initialized yet": if this happens you can delete your vm (NOT the disk!!), create a new vm pointing to the actual disk(s), set all the customizations to start a macosx vm (vmxnet3 for network and additional cpu parameters, as you already did in the past), after that vnc will work again

- if you have problems with resolution or weird display into vnc, start the vm, press esc before clover hds display, go into the resolution settings and change the resolution to 1920x1080, save changes, force stop the vm, and start the vm again

- copy MCEReportDisabler.kext to /Library/extensions (download it some posts above, it's a post from @Leoyzen) --> This, if you want to use later smbios of MacPro6,1 iMacPro1,1 or MacPro7,1

- download kext utility to rebuild the cache, or rebuild the cache with terminal

- boot into your current mojave and upgrade to Catalina

- After catalina is installed you can re-enable gpu passthrough and any other modification you had

- After that you can change smbios to macpro7,1 if you want

Edited by ghost82

Share this post


Link to post
Posted (edited)
5 hours ago, steve1977 said:

3) What is virtio and do I need to bother about it? Where to set that I use vmxnet3?

When you edit a virtual machine in unraid through editing the xml, you will find something like this:

<interface type='bridge'>
   <mac address='xx:xx:xx:xx:xx:xx'/>
   <source bridge='br0'/>
   <target dev='vnet0'/>
   <model type='vmxnet3'/>
   <alias name='net0'/>
   <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</interface>

type here is vmxnet3; by default unraid sets it to virtio, so you should modify it; it is also explained in SpaceInvader's video tutorial.

Edited by ghost82

Share this post


Link to post

Thanks for your detailed note. I will give it a try over the weekend.

 

Two clarifications:

 

* What's the difference betwene 18,2 and pro 6,1? Which one to choose?

 

* download kext utility to rebuild the cache, or rebuild the cache with terminal - what does this mean? i don't think this was covered 

Share this post


Link to post
Posted (edited)
1 hour ago, steve1977 said:

* What's the difference betwene 18,2 and pro 6,1? Which one to choose?

 

* download kext utility to rebuild the cache, or rebuild the cache with terminal - what does this mean? i don't think this was covered 

iMac 18,2 is iMac (Retina display 4K, 21,5 inches, 2017)

pro 6,1 is MacPro 6,1 and it is the Mac Pro (Late 2013)

 

I prefer macpro7,1 as it is the newest (not on the market yet, it will be available soon) and has some characteristics that the imac doesn't have.

 

Everytime you copy a kext in /system/library/extensions or /library/extensions you have to rebuild the cache, otherwise your kext will not be seen by the os, so before reboot the vm you need to rebuild the kext cache to be able to load your new copied kext(s)

Edited by ghost82

Share this post


Link to post
23 hours ago, Leoyzen said:

1. make sure the video and audio are in same bus as I mentioned a few page ago

2. select 'Fix DTGP' and 'Fix display' in clover

3. select 'AMD RXxx blackscreen patch' in clover

4. use iMacPro1,1 instead of iMac17,1 because you don't have iGPU

 

or use my clover qcow2 file I post

Thanks, it worked.

 

However the display randomly glitches and turns black/shows static for a few seconds, any ideas ?

Share this post


Link to post

Guys, what about Mac OS performance with GPU passthrough  ?

Because i have hackintosh on same hardware which working perfectly, and on same hardware i want to run unraid. Can i combine this in Unraid? Or i will get performance penalty with passthrough ? If i will get, approximately how big?)

Share this post


Link to post
Posted (edited)
12 minutes ago, J05u said:

Guys, what about Mac OS performance with GPU passthrough  ?

Because i have hackintosh on same hardware which working perfectly, and on same hardware i want to run unraid. Can i combine this in Unraid? Or i will get performance penalty with passthrough ? If i will get, approximately how big?)

If you look some pages before (p.50) you can find some screenshots of geekbench tests: personally, for gpu I have good performances with metal (near same results of CUDA/openCL in windows native), quite poor with openCL (1/3). Leoyzen is able to have near the same performance of a native os.

Edited by ghost82

Share this post


Link to post
2 hours ago, ghost82 said:

If you look some pages before (p.50) you can find some screenshots of geekbench tests: personally, for gpu I have good performances with metal (near same results of CUDA/openCL in windows native), quite poor with openCL (1/3). Leoyzen is able to have near the same performance of a native os.

Thank you. I guess it will be very complicated with my knowledge :(

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.