***GUIDE*** Mac OS X 10.11 El Capitan – VM on unRAID


Recommended Posts

my passthough looks like this

 

  <qemu:arg value='-device'/>

    <qemu:arg value='ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=02:00.0,bus=pcie.0,multifunction=on,x-vga=on'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=02:00.1,bus=pcie.0'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=00:14.0,bus=pcie.0'/>

Link to comment

I use this for keyboard and mouse

 

    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x045e'/>
        <product id='0x0040'/>
      </source>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x045e'/>
        <product id='0x00b4'/>
      </source>
    </hostdev>

Link to comment

strange thing i was using

 

<qemu:arg value='-device'/>

    <qemu:arg value='ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=02:00.0,bus=pcie.0,multifunction=on,x-vga=on'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=02:00.1,bus=pcie.0'/>

    <qemu:arg value='-device'/>

        <qemu:arg value='vfio-pci,host=00:14.0,bus=root.1,addr=00.2'/>

 

it worked fine for a while untill i installed unassigned device plugin into unraid. Usb passthrough stopped?

even after uninstalling plugin. Plugin only effected the osx vm passthrough. windows was fine.

 

edited it to  <qemu:arg value='vfio-pci,host=00:14.0,bus=pcie.0'/>

 

now its fine again.

 

I have no idea why?

Link to comment

Thanks gridrunner.

 

I've used your config (only changed the addresses) and it's still the same.

 

Can I get your config file please? Something else must be causing a conflict.

 

Cheers.

 

    <qemu:arg value='-device'/>

    <qemu:arg value='ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=01:00.0,bus=pcie.0,multifunction=on,x-vga=on'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=01:00.1,bus=pcie.0'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=00:1a.0,bus=root.1,addr=00.2'/>

 

 

my passthough looks like this

 

  <qemu:arg value='-device'/>

    <qemu:arg value='ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=02:00.0,bus=pcie.0,multifunction=on,x-vga=on'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=02:00.1,bus=pcie.0'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=00:14.0,bus=pcie.0'/>

Link to comment

Thanks for that peter.

 

I've also tried with passing single devices rather than the entire controller, and that crashes as well.

 

Seems when I pass USB Clover crashes, take it out and clover is happy.

 

Do you guys also have?

 

<controller type='usb' index='0'>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>

    </controller>

 

Also you're using SeaBios right?

 

I use this for keyboard and mouse

 

    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x045e'/>
        <product id='0x0040'/>
      </source>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x045e'/>
        <product id='0x00b4'/>
      </source>
    </hostdev>

Link to comment

 

 

Wow, Thanks for your help peter. It's all happening, I even passed the GPU and the GTX 970 is happy with OSX. :)

 

 

So you got your GTX 970 working with full resolution? You're using clover now correct? Did you have to do anything special to get it working, i.e. Nvidia webdrivers, or special boot loader options?

Link to comment

Thanks for that peter.

 

I've also tried with passing single devices rather than the entire controller, and that crashes as well.

 

Seems when I pass USB Clover crashes, take it out and clover is happy.

 

Do you guys also have?

 

<controller type='usb' index='0'>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>

    </controller>

 

Also you're using SeaBios right?

 

I use this for keyboard and mouse

 

    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x045e'/>
        <product id='0x0040'/>
      </source>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x045e'/>
        <product id='0x00b4'/>
      </source>
    </hostdev>

Please post your XML or PM me, then I can take a look if it's OK

//Peter

 

Link to comment

Yep. Full Res Accelerated.

 

I just added nvda_drv=1 in clover, and installed the latest Nvidia Web drivers of course.

 

[edit] sorry I could of been a little clearer

 

On first boot, boot with nv_disable=1

Install latest nvidia web drivers

Reboot and add nvda_drv=1 to clover's boot args

 

 

So you got your GTX 970 working with full resolution? You're using clover now correct? Did you have to do anything special to get it working, i.e. Nvidia webdrivers, or special boot loader options?

Link to comment

Please post your XML or PM me, then I can take a look if it's OK

//Peter

 

Thanks pete

 

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>CLOVER-GOOD-OSX-Guide-1-Current</name>
  <uuid>0aa39626-7ba1-2d41-9602-e2968b2fe36d</uuid>
  <metadata>
    <type>None</type>
  </metadata>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <vcpu placement='static'>2</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='1'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-2.3'>hvm</type>
    <boot dev='hd'/>
    <bootmenu enable='yes'/>
  </os>
  <features>
    <acpi/>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>core2duo</model>
  </cpu>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/ssd/ElCapitan.img'/>
      <target dev='hda' bus='sata'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
    </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'/>
    <controller type='pci' index='1' model='dmi-to-pci-bridge'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
    </controller>
    <controller type='pci' index='2' model='pci-bridge'>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:00:20:30'/>
      <source bridge='br0'/>
      <model type='e1000-82545em'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
    </interface>
    <memballoon model='none'/>
  </devices>
  <seclabel type='none' model='none'/>
  <qemu:commandline>
    <qemu:arg value='-device'/>
    <qemu:arg value='isa-applesmc,osk=?'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=01:00.0,bus=pcie.0,multifunction=on,x-vga=on'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=00:1a.0,bus=pcie.0'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=01:00.1,bus=pcie.0'/>
  </qemu:commandline>
</domain>

Link to comment

yes i am.

 

I was thinking of using clover as had problems with hdmi sound but peter suggested to use HDMIAudio-1.1.dmg and it worked fine.

i would suggest to just start again following the guide. The first time i tried it didnt work too. Just create new vdisk and do everything again.

 

This is how my finished xml looked after getting it working passing through a 6450 and usb 3 controller. Hope it helps you spot something!

 

Are you sure you are passing through the correct usb controller???

 

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>

  <name>OSX-El-Capitan-10.11</name>

  <uuid>1ecc7ddd-fd4e-2ee3-85c7-6f3afbf6ade1</uuid>

  <metadata>

    <type>None</type>

  </metadata>

  <memory unit='KiB'>4194304</memory>

  <currentMemory unit='KiB'>4194304</currentMemory>

  <vcpu placement='static'>8</vcpu>

  <cputune>

    <vcpupin vcpu='0' cpuset='0'/>

    <vcpupin vcpu='1' cpuset='1'/>

    <vcpupin vcpu='2' cpuset='2'/>

    <vcpupin vcpu='3' cpuset='3'/>

    <vcpupin vcpu='4' cpuset='4'/>

    <vcpupin vcpu='5' cpuset='5'/>

    <vcpupin vcpu='6' cpuset='6'/>

    <vcpupin vcpu='7' cpuset='7'/>

  </cputune>

  <resource>

    <partition>/machine</partition>

  </resource>

  <os>

    <type arch='x86_64' machine='pc-q35-2.3'>hvm</type>

    <kernel>/mnt/cache/virtual systems/osx/enoch_rev2795_boot</kernel>

    <boot dev='hd'/>

    <bootmenu enable='yes'/>

  </os>

  <features>

    <acpi/>

  </features>

  <cpu mode='custom' match='exact'>

    <model fallback='allow'>core2duo</model>

  </cpu>

  <clock offset='utc'/>

  <on_poweroff>destroy</on_poweroff>

  <on_reboot>restart</on_reboot>

  <on_crash>destroy</on_crash>

  <devices>

    <emulator>/usr/bin/qemu-system-x86_64</emulator>

    <disk type='file' device='disk'>

      <driver name='qemu' type='raw'/>

      <source file='/mnt/cache/virtual systems/osx/vdisk2.img'/>

      <target dev='hda' bus='sata'/>

      <address type='drive' controller='0' bus='0' target='0' unit='0'/>

    </disk>

    <controller type='usb' index='0'>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>

    </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'/>

    <controller type='pci' index='1' model='dmi-to-pci-bridge'>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>

    </controller>

    <controller type='pci' index='2' model='pci-bridge'>

      <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/>

    </controller>

    <interface type='bridge'>

      <mac address='52:54:00:00:20:30'/>

      <source bridge='ed'/>

      <model type='e1000-82545em'/>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>

    </interface>

    <memballoon model='none'/>

  </devices>

  <seclabel type='none' model='none'/>

  <qemu:commandline>

    <qemu:arg value='-device'/>

    <qemu:arg value='ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=02:00.0,bus=pcie.0,multifunction=on,x-vga=on'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=02:00.1,bus=pcie.0'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=00:14.0,bus=pcie.0'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='usb-kbd'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='usb-mouse'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='isa-applesmc,osk=xxxxxxxxxxxxx put osk key here  xxxxxxxxxxxxxxxx'/>

    <qemu:arg value='-smbios'/>

    <qemu:arg value='type=2'/>

  </qemu:commandline>

</domain>

 

 

 

 

Link to comment

Thanks buddy.

 

That's exactly what I did, started again.

Yes, it's the correct USB controller as the keyboard works under clover during boot.

 

Now I can pass single USB devices, but when I pass the entire controller it crashes.

 

Good news is that I can get it to boot with the UEFI bios and Clover, I hate legacy :)

 

I'll look into it and thanks again for your help!

 

yes i am.

 

I was thinking of using clover as had problems with hdmi sound but peter suggested to use HDMIAudio-1.1.dmg and it worked fine.

i would suggest to just start again following the guide. The first time i tried it didnt work too. Just create new vdisk and do everything again.

 

This is how my finished xml looked after getting it working passing through a 6450 and usb 3 controller. Hope it helps you spot something!

 

Are you sure you are passing through the correct usb controller???

 

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>

  <name>OSX-El-Capitan-10.11</name>

  <uuid>1ecc7ddd-fd4e-2ee3-85c7-6f3afbf6ade1</uuid>

  <metadata>

    <type>None</type>

  </metadata>

  <memory unit='KiB'>4194304</memory>

  <currentMemory unit='KiB'>4194304</currentMemory>

  <vcpu placement='static'>8</vcpu>

  <cputune>

    <vcpupin vcpu='0' cpuset='0'/>

    <vcpupin vcpu='1' cpuset='1'/>

    <vcpupin vcpu='2' cpuset='2'/>

    <vcpupin vcpu='3' cpuset='3'/>

    <vcpupin vcpu='4' cpuset='4'/>

    <vcpupin vcpu='5' cpuset='5'/>

    <vcpupin vcpu='6' cpuset='6'/>

    <vcpupin vcpu='7' cpuset='7'/>

  </cputune>

  <resource>

    <partition>/machine</partition>

  </resource>

  <os>

    <type arch='x86_64' machine='pc-q35-2.3'>hvm</type>

    <kernel>/mnt/cache/virtual systems/osx/enoch_rev2795_boot</kernel>

    <boot dev='hd'/>

    <bootmenu enable='yes'/>

  </os>

  <features>

    <acpi/>

  </features>

  <cpu mode='custom' match='exact'>

    <model fallback='allow'>core2duo</model>

  </cpu>

  <clock offset='utc'/>

  <on_poweroff>destroy</on_poweroff>

  <on_reboot>restart</on_reboot>

  <on_crash>destroy</on_crash>

  <devices>

    <emulator>/usr/bin/qemu-system-x86_64</emulator>

    <disk type='file' device='disk'>

      <driver name='qemu' type='raw'/>

      <source file='/mnt/cache/virtual systems/osx/vdisk2.img'/>

      <target dev='hda' bus='sata'/>

      <address type='drive' controller='0' bus='0' target='0' unit='0'/>

    </disk>

    <controller type='usb' index='0'>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>

    </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'/>

    <controller type='pci' index='1' model='dmi-to-pci-bridge'>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>

    </controller>

    <controller type='pci' index='2' model='pci-bridge'>

      <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/>

    </controller>

    <interface type='bridge'>

      <mac address='52:54:00:00:20:30'/>

      <source bridge='ed'/>

      <model type='e1000-82545em'/>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>

    </interface>

    <memballoon model='none'/>

  </devices>

  <seclabel type='none' model='none'/>

  <qemu:commandline>

    <qemu:arg value='-device'/>

    <qemu:arg value='ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=02:00.0,bus=pcie.0,multifunction=on,x-vga=on'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=02:00.1,bus=pcie.0'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='vfio-pci,host=00:14.0,bus=pcie.0'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='usb-kbd'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='usb-mouse'/>

    <qemu:arg value='-device'/>

    <qemu:arg value='isa-applesmc,osk=xxxxxxxxxxxxx put osk key here  xxxxxxxxxxxxxxxx'/>

    <qemu:arg value='-smbios'/>

    <qemu:arg value='type=2'/>

  </qemu:commandline>

</domain>

Link to comment
  • 3 weeks later...

Hi. I've been following your guide up to stage 4.4 and I'm getting an error:

"Unable to write to '/sys/fs/cgroup/cpuset/machine/OSX-El-Capitan-10.11-VNC.libvirt-qemu/vcpu1/cpuset.cpus': Numerical result out of range"

 

Here are my files I have:

/mnt/cache/VM/Install_OS_X_10.11_El_Capitan.iso
/mnt/cache/VM/ElCapitan.img
/mnt/cache/VM/enoch_rev2795_boot

 

Here is my XML

 

Running on Intel Pentium.

Anyone have any ideas of how I can progress?

 

Thanks

Christian

Link to comment

Hi. I've been following your guide up to stage 4.4 and I'm getting an error:

"Unable to write to '/sys/fs/cgroup/cpuset/machine/OSX-El-Capitan-10.11-VNC.libvirt-qemu/vcpu1/cpuset.cpus': Numerical result out of range"

 

Here are my files I have:

/mnt/cache/VM/Install_OS_X_10.11_El_Capitan.iso
/mnt/cache/VM/ElCapitan.img
/mnt/cache/VM/enoch_rev2795_boot

 

Here is my XML

 

Running on Intel Pentium.

Anyone have any ideas of how I can progress?

 

Thanks

Christian

 

Hi Christian, What exact CPU have you got?  It sounds like you're trying to allocate more cores than your CPU has...

 

Try deleting line 12 from the xml.  If that doesn't work post a screenshot like this one from the webui when you try and setup  a new VM...

 

Then we can work from there.  (I'm at home now so easier to look at this in a bit more detail)

 

2HBgGaS.jpg

Link to comment

Hey guys!

 

I have been trying to get this to work for sometime now without success.  :(  I have been following this guide: https://macosxvirtualmachinekvm.wordpress.com/guide-mac-os-x-10-11-el-capitan-vm-on-unraid/ provided by Mr. Archedraft.  The only difference is that I have 10.11.2 as that is what I download from the app store.  Here is my build information: http://snag.gy/vrecb.jpg.

 

I use the XML given and edit to fit my needs: http://pastebin.com/SY2ysZiM

I then start the VM and I get to this screen:  http://snag.gy/VSxTC.jpg  Where I entered -v this time around. 

It got stuck here with "-v": http://snag.gy/Cv2AT.jpg

Without "-v" I get stuck here: http://snag.gy/A8xNW.jpg

 

I am at total loss on what to do now.  Any ideas?!

 

Also thanks to all that have tried to help me over the last two weeks or so.  :)

 

 

Link to comment

I got the same error! have google this error....

It has to do with the graphics driver.... maybe some new kext that do this ?

 

//Peter

 

How does this look? 

 

npci=0x3000 PCIRoot=0 PCIRootUID=1 cpus=1 maxmem=2048 USBBusFix=Yes nv_disable=1 GraphicsEnabler=No IGPEnabler=No "Graphics Mode"="1024x768x32@60" UseKernelCache=No -v

 

About the only thing I found.  :(

 

Link to comment

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.