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


Recommended Posts

Ash, I don't mind helping you, but I'm not convinced you listen to advice...

 

I've told you a few times and sent you multiple configs and lots of PMs.  Trying to passthrough the graphics card without the HDMI sound is asking for trouble.  You've also been advised by others to try and do one thing at a time..

 

Before you passthrough the graphics get USB working, then try the graphics.

 

All we keep doing is the same thing over and over again and keep asking why it's not working...

Link to comment

Hi

 

I have an old OSX ElCapitain qcow2 image, witch i created in proxmox virtualization. I converted it and it now also works in UnRaid. So far so good.

But i cant get it to connect to app store, it says that my computer could not be verified. What to do?

I tried to boot in recovery mode. so i could disable SIP (System Integrity Protection) so i could edit the serial number, in the spinfo.strings file. But i had no luck with the recovery mode. I also have all the necessary lines in org.chameleon.boot.plist.

 

Please help, thanks.

 

Link to comment

Hi

 

I have an old OSX ElCapitain qcow2 image, witch i created in proxmox virtualization. I converted it and it now also works in UnRaid. So far so good.

But i cant get it to connect to app store, it says that my computer could not be verified. What to do?

I tried to boot in recovery mode. so i could disable SIP (System Integrity Protection) so i could edit the serial number, in the spinfo.strings file. But i had no luck with the recovery mode. I also have all the necessary lines in org.chameleon.boot.plist.

 

Please help, thanks.

 

Does your org.chameleon.boot.plist file have this string? That should let you log in.

<key>PCIRootUID</key>
<string>1</string>

Link to comment

Yes, i have that line in my file. Thats why I'am kind of stuck. I dont know what to do.

 

Hmm, I am not sure. Maybe try setting up a second OS X VM following my steps and see if that solves it? Kind of a pain in the butt but I have never ran into it not working. You might try editing the plist file with a different editor and see if there is weird characters.

Link to comment

 

Hi

 

I have an old OSX ElCapitain qcow2 image, witch i created in proxmox virtualization. I converted it and it now also works in UnRaid. So far so good.

But i cant get it to connect to app store, it says that my computer could not be verified. What to do?

I tried to boot in recovery mode. so i could disable SIP (System Integrity Protection) so i could edit the serial number, in the spinfo.strings file. But i had no luck with the recovery mode. I also have all the necessary lines in org.chameleon.boot.plist.

 

Please help, thanks.

 

Does your org.chameleon.boot.plist file have this string? That should let you log in.

<key>PCIRootUID</key>
<string>1</string>

 

8679898d2baab2d244a3b9928a46f433.jpg

 

Se the attachment picture. This is how my org.chameleon.boot.plist looks like.

 

Sorry for the bad picture, had to take it through vnc on my phone.

Link to comment

I have an AMD HD5450 GPU that I am attempting to passthrough to OSX.  Based on google searches it appears that I either need to edit some kext files or replace them, however in El Capitan Apple has a System Integrity Protection enabled to prevent malware etc. from making these changes.  To disable this protection you need to boot to the Recovery OS.  Any suggestions on doing this with a VM?  Please note that I know I am able to actually pass the GPU through...but I am not accelerated and I am in full resolution...so I don't think I have any issues with passthrough.

 

Thanks,

 

Dan

Link to comment

Yes, i have that line in my file. Thats why I'am kind of stuck. I dont know what to do.

 

Hmm, I am not sure. Maybe try setting up a second OS X VM following my steps and see if that solves it? Kind of a pain in the butt but I have never ran into it not working. You might try editing the plist file with a different editor and see if there is weird characters.

 

I ditched my old qcow2 image and made a new one, following your guide. It work flawlessly.

 

Thank for your help.

Link to comment

 

Yes, i have that line in my file. Thats why I'am kind of stuck. I dont know what to do.

 

Hmm, I am not sure. Maybe try setting up a second OS X VM following my steps and see if that solves it? Kind of a pain in the butt but I have never ran into it not working. You might try editing the plist file with a different editor and see if there is weird characters.

 

I ditched my old qcow2 image and made a new one, following your guide. It work flawlessly.

 

Thank for your help.

 

Great, that's awesome.

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.

 

Working perfectly for my GTX 750 ti !

 

Download textwrangler and check your boot plist. Make sure textedit didnt add any garbage to it. If i used the one from the macfiles zip it added extra formatting garbage.

 

Once I used textwranger and only had the plaintext version from the guide it worked and no longer required manually adding nvda_drv=1

 

Which brand of 750 ti card are you using?  I'm leaning towards the EVGA or MSI versions that have 1 fan because of the compact size.  I also want to make sure that the GPU passthrough works for me.

Link to comment

I followed the directions in this posting and have OS X 10.11.1 installed and have upgraded to 10.11.3 via the app store. 

 

I want to get clover installed but am having issues.  When I download Clover v2.3 r3333 and install clover EFI I get a message that it is not compatible with my versions of the OS X...I hit continue anyway and then followed the clover instructions posted much earlier in this thread.  I get a warning at the end of the clover installation that it completed with errors.  I am not sure if this is because it is not compatable with my version of OS X or some other issue.  I then removed the enoch line in my KVM and when I restart the VM it says that it is booting from hard drive and then stays there...never getting to the clover EFI.

 

Any suggestions would be greatly appreciated. 

 

Thanks,

Dan

 

Here are the Clover install instructions I as following from the earlier posting in this thread:

 

Quote
danofun says:
October 29, 2015 at 5:56 pm   Edit
I was able to successfully upgrade to El Capitan using these steps.
– Followed the above to successfully install Yosemite
– Once installed, boot into Yosemite then download Clover EFI bootoader
– Install without UEFI (choose setting install boot0af in MBR)
– after the installation completes, copy /EFI/Clover/config.plist to ~/Desktop
– download and open Clover Configurator
– within Clover Configurator open ~/Desktop/config.plist
– in the RT Variables section change CsrActiveConfig to 0x3
– in the ACPI section uncheck FixLAN
– in the SMBIOS section run the wizard and select an appropriate template (for me 14.1)
– I am using a PowerColor R9 270 video card and had to inject a fakeid of 0x68101002 in the Devices section -> Fake ID -> ATI
– save ~/Desktop/config.plist
– replace /EFI/Clover/config.plist with the config.plist you just modified
– shutdown the VM
– in the unRAID OSX VM xml, delete the chameleon line
– boot your VM and it should load the Clover bootloader
– once booted back into Yosemite using the Clover bootloader, download Install OS X El Capitan Application from the Mac App Store. When complete, the app will open. Please note, the Application will disappear after use.
– Choose Yosemite system drive for install (Example: Macintosh HD). When complete, the computer will automatically reboot.
– When Clover boot screen appears, choose Boot OS X Install option (Example: Boot OS X Install from Macintosh HD). Choosing your system drive will go back to your previous installation without updating.
– Complete the OS X installation process. When complete, the computer will automatically reboot.
– When Clover boot screen appears, choose Boot Mac OS X option (Example: Boot Mac OS X from Macintosh HD). The computer will then complete the update.
– copy /EFI/Clover/config.plist to ~/Desktop
– in the RT Variables section change CsrActiveConfig to 0x67
– save ~/Desktop/config.plist
– replace /EFI/Clover/config.plist with the config.plist you just modified
– reboot and you’re done

 

Link to comment

 

Hi

 

I have an old OSX ElCapitain qcow2 image, witch i created in proxmox virtualization. I converted it and it now also works in UnRaid. So far so good.

But i cant get it to connect to app store, it says that my computer could not be verified. What to do?

I tried to boot in recovery mode. so i could disable SIP (System Integrity Protection) so i could edit the serial number, in the spinfo.strings file. But i had no luck with the recovery mode. I also have all the necessary lines in org.chameleon.boot.plist.

 

Please help, thanks.

 

Does your org.chameleon.boot.plist file have this string? That should let you log in.

<key>PCIRootUID</key>
<string>1</string>

 

8679898d2baab2d244a3b9928a46f433.jpg

 

Se the attachment picture. This is how my org.chameleon.boot.plist looks like.

 

Sorry for the bad picture, had to take it through vnc on my phone.

 

I have this same problem. *.plist file seems to be ignored completely. I have to press enter to select the menu from which the system starts every time. And resolution options set in the file are ignored completely (the screenshot doesn't have any resolution options set because I wan't to make the OS work properly first).

 

untitled.png

Link to comment

 

 

Hi

 

I have an old OSX ElCapitain qcow2 image, witch i created in proxmox virtualization. I converted it and it now also works in UnRaid. So far so good.

But i cant get it to connect to app store, it says that my computer could not be verified. What to do?

I tried to boot in recovery mode. so i could disable SIP (System Integrity Protection) so i could edit the serial number, in the spinfo.strings file. But i had no luck with the recovery mode. I also have all the necessary lines in org.chameleon.boot.plist.

 

Please help, thanks.

 

Does your org.chameleon.boot.plist file have this string? That should let you log in.

<key>PCIRootUID</key>
<string>1</string>

 

8679898d2baab2d244a3b9928a46f433.jpg

 

Se the attachment picture. This is how my org.chameleon.boot.plist looks like.

 

Sorry for the bad picture, had to take it through vnc on my phone.

 

I have this same problem. *.plist file seems to be ignored completely. I have to press enter to select the menu from which the system starts every time. And resolution options set in the file are ignored completely (the screenshot doesn't have any resolution options set because I wan't to make the OS work properly first).

 

untitled.png

 

Search the net for iOS app TextWrangler. Download and install. Edit the file with that program.

Everytime i had problems with the .plist file, it was a wrong "end of line" character.

Link to comment

Did all that. Check the plist icon and you'll see that it's the default program to open that file. Also see which app actually opened the file in my screenshot.

 

TL DR:

- opened with TextWrangler

- removed all junk

- didn't work so removed everything and recreated Extra folder

- this time copy&pasted the content into a text file made manually in TextWrangler

- saved as two different line break options and left encoding ad utf-8 every time

- didn't work

- edited permissions

- didn't work

- removed the file and created a new one using Chameleon Wizard

- didn't work as well

- manually mounted EFI folder and made the directory there

- didn't work as well

 

Edit:

Finally did it. It was a user error on my part. I copied the file to /User/Extra and not /Extra.

It works now.

Link to comment

Did all that. Check the plist icon and you'll see that it's the default program to open that file. Also see which app actually opened the file in my screenshot.

 

TL DR:

- opened with TextWrangler

- removed all junk

- didn't work so removed everything and recreated Extra folder

- this time copy&pasted the content into a text file made manually in TextWrangler

- saved as two different line break options and left encoding ad utf-8 every time

- didn't work

- edited permissions

- didn't work

- removed the file and created a new one using Chameleon Wizard

- didn't work as well

- manually mounted EFI folder and made the directory there

- didn't work as well

 

Edit:

Finally did it. It was a user error on my part. I copied the file to /User/Extra and not /Extra.

It works now.

 

Sorry, i didn't saw that you used the right app.

But nice to hear that you got it working.

Link to comment

Thanks a lot for this guide..  I've got a nearly perfect install of Yosemite running with GPU pass through, HDMI audio, clover bootloader, working iMessage, almost everything I need!

 

The only thing that's giving me trouble is passing through a USB controller.  I've got a single bluetooth dongle working just fine, pairs nicely with my Apple keyboard and trackpad..  though there seems to be a very slight lag at times.

 

I got the bluetooth dongle working with:

<hostdev mode='subsystem' type='usb' managed='yes'>
  <source>
    <vendor id='0x0a12'/>
    <product id='0x0001'/>
    <address bus='4' device='15'/>
  </source>
  <alias name='hostdev0'/>
</hostdev>

...even though I was under the impression that PCIRootUID=1 would prevent such a pass-through from working.

 

But anyway.  I don't want to do it like this, I want to have an entire controller for hot plugging.  I've purchased a USB PCI-e card so I'll have enough controllers to go around.  These are the controllers I've been trying to pass through:

 

00:1a.0 USB controller: Intel Corporation C610/X99 series chipset USB Enhanced Host Controller #2 (rev 05)
09:00.0 USB controller: VIA Technologies, Inc. Device 3483 (rev 01)

 

Both seem to pass through successfully.  The onboard Intel controller doesn't seem to be recognized by the Mac and doesn't show up in the system profiler.  The PCI-e VIA controller is recognized fine and shows up in the system profiler, like so:

 

PCi7waT.png

 

...but that's pretty much as far as we get.  I've tried pretty much every USB device I can find.  Most aren't recognized at all.  I did manage to find one USB thumb drive that would appear in the device tree, but it wouldn't mount on the desktop.  Refreshing the device tree with command-r seemed very slow, as well.

 

I've tried the latest GenericUSBXHCI.kext as well -- the card doesn't show up at all when I do.

 

Any advice?  Here's my xml in case there's anything there I'm doing wrong.  Thanks in advance!

 

<domain type='kvm' id='23' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>OS X El Capitan 10.11</name>
  <uuid>0ba39646-7ba1-4d41-9602-e2969a3fc26d</uuid>
  <metadata>
    <vmtemplate icon="/mnt/nvme/vm_images/extra/EC.png"/>
    <type>None</type>
  </metadata>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
  <vcpu placement='static'>4</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='4'/>
    <vcpupin vcpu='1' cpuset='5'/>
    <vcpupin vcpu='2' cpuset='6'/>
    <vcpupin vcpu='3' cpuset='7'/>
  </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/nvme/vm_images/Yosemite.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:20'/>
      <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>
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x0a12'/>
        <product id='0x0001'/>
        <address bus='4' device='15'/>
      </source>
      <alias name='hostdev0'/>
    </hostdev>
    <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='vfio-pci,host=03:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=03:00.1,bus=root.1,addr=00.1'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=09:00.0,bus=root.1,addr=00.2'/>
    <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:commandline>
</domain>

Link to comment

I've almost given up on this but I've been trying to get a clover boot, OVMF or seabios I don't really care, to boot but it isn't going well.

 

My xml is currently:

 <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>OS X El Capitan 10.11</name>
  <uuid>0ba39646-7ba1-4d41-9602-e2969a3fc26d</uuid>
  <metadata>
    <vmtemplate icon="/mnt/nvme/vm_images/extra/EC.png"/>
    <type>None</type>
  </metadata>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
  <vcpu placement='static'>4</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='4'/>
    <vcpupin vcpu='1' cpuset='5'/>
    <vcpupin vcpu='2' cpuset='6'/>
    <vcpupin vcpu='3' cpuset='7'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-2.3'>hvm</type>    
     <kernel>/mnt/cache/.images/chameleon_svn2510_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='qcow2'/>
      <source file='/mnt/cache/.images/macos.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:20'/>
      <source bridge='virbr0'/>
      <model type='e1000-82545em'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
    </interface>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='0.0.0.0' keymap='en-us'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='vmvga' vram='16384' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <memballoon model='none'/>
  </devices>
  <seclabel type='none' model='none'/>
  <qemu:commandline>
    <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:commandline>
</domain>

 

I followed the instructions on page two for installing clover in the mbr but when clover boots it gets to the hdd selection screen, then after booting it shows the normal clover stuff then "the root device UUID is... then a few+++++ before the whole screen goes white.

 

When I add:

    <kernel>/mnt/cache/.images/chameleon_svn2510_boot</kernel>

it boots fine but on a clover boot it just goes white.

 

 

Link to comment

@archedraft

 

1st, thank you for the guide. I'm slowly tweaking things, but this is great!

 

2nd, can you run Novabench w & w/out GPU inside your VM and post results. I'm running 4cores 2+2HT on a Xeon 1230v3, 4GB RAM and getting 649. (edit EL CAPITAN)

 

3rd, I was attempting to run Teamviewer from inside the VM and it's allowing me to have LAN access, but not internet. Can you think why that might be? I'm able to upload, download, ping from the browser, but Teamviewer is not accepting incoming. Bridgemode is active, br0 is set. Problem resolved itself and I don't know why... I'll dig into that later.

 

I'm going to attempt to consolidate my old 2008 xserves into one machine.

Link to comment

surely there is an image around that we can just add to unraid rather then going through all these steps?

 

Is there one? Keen to find an easy way out :)

I would be surprised as OSX is owned by Apple, and anyone offering such an image would be risking prosecution.  Having said that I guess there are plenty of illegal downloads available on the internet.
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.