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


Recommended Posts

I've been trying to get the Nvidia webdriver to work but I won't work. The Nvidia driver page mentions the driver is for "Mac Pro 5,1 (2010), Mac Pro 4,1 (2009) and Mac Pro 3,1 (2008) users".

 

Following this guide I the resulting model identifier is iMac (Summer 2001). I suspect the Nvidia webdriver won't work because of the wrong model identifier.

 

Every guide on the net mentions smbios.plist in the /Extra folder, except I don't have that folder.

 

How do I change the model identifier?

Link to comment

I've been trying to get the Nvidia webdriver to work but I won't work. The Nvidia driver page mentions the driver is for "Mac Pro 5,1 (2010), Mac Pro 4,1 (2009) and Mac Pro 3,1 (2008) users".

 

Following this guide I the resulting model identifier is iMac (Summer 2001). I suspect the Nvidia webdriver won't work because of the wrong model identifier.

 

Every guide on the net mentions smbios.plist in the /Extra folder, except I don't have that folder.

 

How do I change the model identifier?

 

You should have created the /Extra folder if you followed my guide? Then you just put the correct smbios.plist into that folder so see if it works. Be careful though some smbios will cause the VM to have trouble booting.

Link to comment

Succes, I've added org.chameleon.boot.plist and the iMac14,2 smbios.plist.

 

org.chameleon.boot.plist:

 

<?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>Timeout</key>
    <string>5</string>
    <key>EthernetBuiltIn</key>
    <string>Yes</string>
    <key>PCIRootUID</key>
    <string>1</string>
    <key>KernelBooter_kexts</key>
    <string>Yes</string>
    <key>nvda_drv</key>
    <string>1</string>
</dict>

 

However, the nvda_drv setting isn't working. I have to add it manually as a boot flag during boot.

Link to comment

You should have created the /Extra folder if you followed my guide?

Yeah, sorry about that. I did follow the guide but I directly used passthrough and somehow I skipped that part as it was right below the absolute mouse positioning.

 

Anyway, thanks a bunch. Now I've got an updated 10.11.2 working with a GTX 960 passthrough and a 4 display setup (incl a 4K display). The 4K display doubles for gaming on the other VM with a GTX 980Ti.

 

All working fine. Great holiday project.

 

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.  :(

 

Anyone?  :(

Link to comment

Can You install 10.11.2 with these settings ? I have tested several combination but installation stall after "Bluetooth -- completed ".

 

Anyone that manage to get 10.11.2 or 10.11.1  installed from ISO file ?

 

Check out the comments on my guide for 10.11. Another user listed some steps he used to get past the Bluetooth option. Sorry I don't have time to play with this now but if you get this working please post the steps for others.

Link to comment

Would really appreciate some help with this.

 

I have managed to install OSX 10.11.2 using inc without a problem. I think I have my GTX 960 passing through correctly because I can see the Darwin/x86 boot screen. The only problem I'm having is with USB pass through, I'm trying to pass through bus 001 which is 00:14.0 in my system. However when i try to boot with the following XML the USB stops working and no longer appears in Unraid even. This means I cannot boot past the boot loader screen because no keyboards will work.

 

This is my current XML

 

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>OSX-El-Capitan-10.11-VNC</name>
  <uuid>0ba39646-7ba1-4d41-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'/>
    <vcpupin vcpu='1' cpuset='2'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-2.3'>hvm</type>
    <kernel>/mnt/user/isos/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/user/isos/ElCapitan.img'/>
      <target dev='hda' bus='sata'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0' model='nec-xhci'>
      <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>
    <input type='mouse' bus='usb'/>
    <input type='keyboard' bus='usb'/>
    <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=1,chassis=1,id=root.1'/>
    <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=  :)  :)  :)  :)  :)  :)  :)  :)'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=00:14.0,bus=root.1,addr=00.1'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=01:00.1,bus=root.1,addr=00.2'/>
  </qemu:commandline>
</domain>

Link to comment

Try....

 

  <qemu:commandline>

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

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

    <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= :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :)'/>

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

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

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

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

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

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

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

    <qemu:arg value='vfio-pci,host=01:00.1,bus=root.1,addr=00.1'/>

  </qemu:commandline>

 

I found I had to have the gfx card in a certain position, which you do indeed have.  But wonder if swapping things around may help...  :-\

Link to comment

Try....

 

  <qemu:commandline>

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

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

    <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= :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :)'/>

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

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

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

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

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

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

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

    <qemu:arg value='vfio-pci,host=01:00.1,bus=root.1,addr=00.1'/>

  </qemu:commandline>

 

I found I had to have the gfx card in a certain position, which you do indeed have.  But wonder if swapping things around may help...  :-\

 

Thank you for your suggestion, the keyboard now shows power but for some reason after i try to start the VM the device disappears from UnRaid....

Link to comment

So when I start the array the keyboard i have connect is present within the system devices through the unpaid web GUI, once i try to start the array the keyboard disappears.

 

Before:

Bus 006 Device 002: ID 8087:8001 Intel Corp. 
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 0781:5571 SanDisk Corp. Cruzer Fit
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 002: ID 8087:8009 Intel Corp. 
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 1532:0045 Razer USA, Ltd 
Bus 001 Device 002: ID 04f2:0841 Chicony Electronics Co., Ltd HP Multimedia Keyboard
Bus 001 Device 004: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 

After:

Bus 006 Device 002: ID 8087:8001 Intel Corp. 
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 0781:5571 SanDisk Corp. Cruzer Fit
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 002: ID 8087:8009 Intel Corp. 
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Link to comment

So when I start the array the keyboard i have connect is present within the system devices through the unpaid web GUI, once i try to start the array the keyboard disappears.

 

Before:

Bus 006 Device 002: ID 8087:8001 Intel Corp. 
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 0781:5571 SanDisk Corp. Cruzer Fit
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 002: ID 8087:8009 Intel Corp. 
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 1532:0045 Razer USA, Ltd 
Bus 001 Device 002: ID 04f2:0841 Chicony Electronics Co., Ltd HP Multimedia Keyboard
Bus 001 Device 004: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 

After:

Bus 006 Device 002: ID 8087:8001 Intel Corp. 
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 0781:5571 SanDisk Corp. Cruzer Fit
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 002: ID 8087:8009 Intel Corp. 
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 

That's normal it's being passed through to the VM..

 

Is it working in the VM?

Link to comment

So i have resolved the usb issue i believe by just repeating the process. I now have an entirely different issue lol. OSX 10.11.2 installs beautifully and works correctly when using VNC, now when i attempt to pass through the GPU, the system starts to boot however the loading bar stops at 25 percent on the apple logo. Has anyone seen this before?

 

Here is my current XML, my graphics card is a GTX 960 if that is relevant. Appreciate all the help already with my previous issues.

<domain type='kvm' id='4' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>OSX-El-Capitan-10.11</name>
  <uuid>0ba39646-7ba1-4d41-9602-e2968b2fe36d</uuid>
  <metadata>
    <type>None</type>
  </metadata>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <vcpu placement='static'>4</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='1'/>
    <vcpupin vcpu='1' cpuset='2'/>
    <vcpupin vcpu='2' cpuset='3'/>
    <vcpupin vcpu='3' cpuset='4'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-2.3'>hvm</type>
    <kernel>/mnt/user/isos/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/domain/ElCapitan.img'/>
      <backingStore/>
      <target dev='hda' bus='sata'/>
      <alias name='sata0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' 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='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='dmi-to-pci-bridge'>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
    </controller>
    <controller type='pci' index='2' model='pci-bridge'>
      <alias name='pci.2'/>
      <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'/>
      <target dev='vnet0'/>
      <model type='e1000-82545em'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
    </interface>
    <memballoon model='none'>
      <alias name='balloon0'/>
    </memballoon>
  </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='usb-kbd'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-mouse'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='isa-applesmc,osk=OSKKey'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=01:00.1,bus=root.1,addr=00.1'/>
  </qemu:commandline>
</domain>

Link to comment

So i have resolved the usb issue i believe by just repeating the process. I now have an entirely different issue lol. OSX 10.11.2 installs beautifully and works correctly when using VNC, now when i attempt to pass through the GPU, the system starts to boot however the loading bar stops at 25 percent on the apple logo. Has anyone seen this before?

 

In reply to your keyboard issues, I use <bootmenu enable='no'/> to skip the first boot menu. This focuses the keyboard on the Enoch boot loader.

 

For passing the 25% mark on boot you need to add some boot flags at the Enoch bootloader. I used nv_disable=1 to fully boot. Then install the Nvidia webdriver. The webdriver won't work for 10.11.2 so you need to install and modify the driver with an application called NVIDIA® WebDriver Updater.app. On the NVDAStartupWeb.kext patch tab enter 15D9c as fake OS build. After installing the driver the driver thinks you're still on 10.11.1. I didn't touch anything else in the app.

 

After installing the drivers, reboot with nvda_drv=1 at the Enoch boot loader. I need to enter this at every boot which is annoying. I hope you don't have to.

 

Check out this post for the correct files in the /Extra folder: https://lime-technology.com/forum/index.php?topic=44908.msg429831#msg429831

 

ps: I also use a GTX 960 for the OSX VM. It drives 4 monitors (1*4K, 1*HD, 2*1600x1200) perfectly fine.

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.