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


SpaceInvaderOne

Recommended Posts

Please help! I'm close but yet so far ;-)

 

Installed as per video: The Newest, Easiest and Best way to install OSX Sierra on KVM with unRAID

 

All working, but I installed Mavericks instead of Sierra, as theSoftware my gf uses (Vectorworks 2014) does not work on Sierra.

 

Then added a NVidia GTX 960 4Gb using this Video: Advanced OSX VM techniques for KVM in unRAID. Get everything working!

 

Here I am not sure what to do 6:55 in the video talks about how in Sierra we no longer use Boot>nvidia_drv=1, but instead use 

check both System Parameters>Inject System ID and NVidiaWeb. 

I tried both but neither solves the problems I have:

     1 When I first tried to install the WebDrivers,  would not install with Error "Computer not supported Error". Solved using this help.

     2 After solving 1, was able to install/reboot, and boot process shows on the Monitor connected to the GTX 960. But after the initial grey Apple boot screen with the little spinning "clock", it just resets into this same endless loop.

 

Did try to change cpu to core2duo instead on penryn, but did not help.

 

Hope this XML might include some hint:

 

Quote

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>Mavericks</name>
  <uuid>644c68ed-3eca-b63a-c445-bea296aadcb5</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Linux" icon="OSX_10.9.png" os="linux"/>
  </metadata>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>8</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='4'/>
    <vcpupin vcpu='1' cpuset='5'/>
    <vcpupin vcpu='2' cpuset='6'/>
    <vcpupin vcpu='3' cpuset='7'/>
    <vcpupin vcpu='4' cpuset='36'/>
    <vcpupin vcpu='5' cpuset='37'/>
    <vcpupin vcpu='6' cpuset='38'/>
    <vcpupin vcpu='7' cpuset='39'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-q35-2.5'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/644c68ed-3eca-b63a-c445-bea296aadcb5_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough'>
    <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/disks/Crucial_525G_SSD2/domains_ssd/Mavericks/mavericks.img'/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <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'>
      <model name='i82801b11-bridge'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
    </controller>
    <controller type='pci' index='2' model='pci-bridge'>
      <model name='pci-bridge'/>
      <target chassisNr='2'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:51:66:48'/>
      <source bridge='br0'/>
      <model type='e1000-82545em'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
    </interface>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x81' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x81' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x04' function='0x0'/>
    </hostdev>
    <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=blahblahblablahblahblaAppleComputerInc'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='Penryn,vendor=GenuineIntel'/>
  </qemu:commandline>
</domain>

 

EDIT: I went ahead and tried installing Sierra, and got everything working including GTX 960 and a PCIe USB controller.

 

Unfortunately Vectorworks 2014 is a not working at all... so still trying Mavericks with no luck so far. :-(

Edited by SpeedyVV
Link to comment

Made an attempt this weekend, but failed to get it working. I followed the two USB videos to create a usb key and then set up the VM. At the time, I am first to start the VM I am seeing the following error message. I did some google search and change "Enable PCIe ACS Override" to "yes" in "Settings / VM Manager", but also no success. Any idea what I am doing wrong? Error message upon start below:

 

*** internal error: process exited while connecting to monitor: 2017-10-22T12:00:04.747339Z qemu-system-x86_64: -chardev pty,id=charserial0: char

*** device redirected to /dev/pts/1 (label charserial0)
*** 2017-10-22T12:00:04.791750Z qemu-system-x86_64: -device vfio-pci,host=00:1f.3,id=hostdev0,bus=pci.4,addr=0x1: vfio error: 0000:00:1f.3: group

*** 13 is not viable
*** Please ensure all devices within the iommu_group are bound to their vfio bus driver.

Link to comment

Making baby steps forward, but not really moving to get the Mac VM installed.

 

Above originated as I was passing through the audio card. While I'd eventually would love to get it working, I deactivated it for now. This allowed me to at least start the VM and see it throgh VNC.

 

However, I am now facing the same issue as described before (Clover 4259 hangs). I had set up using a USB created using the latest youtube video (with fakesmc file). I then followed the suggestion below and manually added the OSK key to the XML file of the VM. However, this didn't change the issue. Any thoughts appreciated!

 

 

On 10/12/2017 at 3:40 AM, gridrunner said:

Hi @gr2659 So when you say clover scans the entries then hangs, it just freezes/hangs before it tries to load OSX? So it is clover crashing and not OSX booting and crashing? 

The fake smc can be in the clover image in the efi/clover/kexts/other folder.

However using 2.10 you dont have to use fakesmc but you would need to have your osk key which we can not post in the forums. but the end of your xml would look like this if not wanting to use fakesmc (i prefer not to use any kexts if possible)

 


<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=xxxxxxxxOSK_KEY_xxxxxxxxxxxxxxxxxxxxxx'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='Penryn,vendor=GenuineIntel,kvm=on,+invtsc,vmware-cpuid-freq=on,'/>
  </qemu:commandline>
</domain>

 

Link to comment

I have it somehow working now. Nice to have MacOS on Unraid. I am now left with two issues though:

 

* I cannot pass-through the audio card. Once I do, I get the error message two posts above

 

* I haven't succeeded yet to install/migrate Clover to my local harddisk. My issue starts in min 16:01 of the youtube video. The labels in disk utility don't match with what you show in the video. Also, only one of the two EFI partitions includes clover.

 

 

Any help appreciated!

Link to comment
  • 2 weeks later...

No worries, thanks, much appreciated your help and the great video guides on youtube. Have been an active user.

 

I have two audio cards. One is-on-board and one is part of my GPU. I have been trying to pass through the on-board one. See below IOMMU groups:

 

IOMMU group 14
	[8086:a2d2] 00:1f.0 ISA bridge: Intel Corporation Device a2d2
	[8086:a2a1] 00:1f.2 Memory controller: Intel Corporation 200 Series PCH PMC
	[8086:a2f0] 00:1f.3 Audio device: Intel Corporation 200 Series PCH HD Audio
	[8086:a2a3] 00:1f.4 SMBus: Intel Corporation 200 Series PCH SMBus Controller
IOMMU group 36
	[10de:1c81] 65:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050] (rev a1)
	[10de:0fb9] 65:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1)

 

Any thoughts on my second question? Any more info required from me?

Link to comment
8 hours ago, steve1977 said:

No worries, thanks, much appreciated your help and the great video guides on youtube. Have been an active user.

 

I have two audio cards. One is-on-board and one is part of my GPU. I have been trying to pass through the on-board one. See below IOMMU groups:

 


IOMMU group 14
	[8086:a2d2] 00:1f.0 ISA bridge: Intel Corporation Device a2d2
	[8086:a2a1] 00:1f.2 Memory controller: Intel Corporation 200 Series PCH PMC
	[8086:a2f0] 00:1f.3 Audio device: Intel Corporation 200 Series PCH HD Audio
	[8086:a2a3] 00:1f.4 SMBus: Intel Corporation 200 Series PCH SMBus Controller

IOMMU group 36
	[10de:1c81] 65:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050] (rev a1)
	[10de:0fb9] 65:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1)

 

Any thoughts on my second question? Any more info required from me?

1

 

Ok. Yes, the onboard audio will not be able to be passed through to a VM.

It would need to be in an iommu group on its own. The isa bridge, memory controller and SMBus are in there with it so it will not pass through.

When you pass something through the whole iommu group must pass through. Imagine an iommu group is like a box you want to ship. You have to ship everything in the box. If the audio is a box with 3 other things you have to ship them all or nothing. 

Now with this iommu group, we cant just pass through everything here to a VM because the other devices are used by the host (unRAID server) so we cant do that.

 

Now if we look at your other sound with the GPU that's in group 36. We can pass through that 'box' because everything in it is the same device the GTX 1050.

(Also when passing through a graphics card anyway, it is always best to pass through all of it for it to work correctly as well. Especially windows VMS passing through just the vgs part and not the sound can cause driver issues.)

 

So try the 1050 sound. You will need the Nvidia web drivers install and probably the HDMI kext (see my video on advanced osx VM techniques)

 

Link to comment

Thanks for your message. This is clear.

 

If I understand you correctly, I can now make an attempt to pass through audio from my GTX1050, but you are suggesting that it would be even better to pass through all of the GTX1050 (both video and audio)? Is this understanding correct and is this possible in the meantime with High Sierra? I remember you said in one of your videos that the drivers may not be available yet? If available by now, do you have a video with the how-to as well? I remember there is plenty of complexity in passing through a primary GPU to a VM though?

 

Also, don't want to be a pain, but I am still struggling to migrate Clover to my local harddisk. I followed all the steps of the videos (thanks again). What I don't get to work is what is being described from 16:01 in the youtube video onwards. The labels in disk utility don't match with what you show in the video. Also, only one of the two EFI partitions includes clover folder/files. Any thoughts what I am doing wrong?

Link to comment

Big Thanks gridrunner, I got a High Sierra VM working with a GT 1030 passed thru, a bluetooth 4.0 dongle for bluetooth audio and a usb Roccat Juke for my headphones. Im using synergy so i don't need a mouse or keyboard plus this VM is mostly used as a HTPC. I added most of the devices using virt manager in a ubuntu vm. Im running a Ryzen r5 1600x and i gave the vm 4 cores 8 threads. Its running really well. Nvidia web drivers installed without issue and its using the apfs file system. Thanks for all the guides.  

Screen Shot 2017-11-07 at 9.26.06 AM.png

Link to comment
Just now, steve1977 said:

Great to hear @david279. What version of clover did you use and what guide did you follow to passthrough your Nvidia card? Did you succeed to "migrate" Clover to your local harddisk following the instructions in the youtube video from this thread?

 

I used clover ver 4200. Also for passing thru all the hardware when migranting from the VNC setup i used virt manager. I set it up a ubuntu VM. It really makes it easy. One quirk when installing clover on the new install to migrate from the install disk it wouldn't mount and install to the EFI. It may have been a problem with the version I was using. To correct this i installed clover to my main drive then copy over the EFI folder to the EFI partition. After that copy over the Clover folder from the install disk.

Link to comment

thanks. perfect. it also worked with 4200 for me and not with the later versions.

did you follow some step to step guide to migrate from vnc to gpu. i don’t know virt manager and have never used a ubuntu vm. sounds a lot of work to get the nvidia drivers to work.

can you share step by step the EFI things you went through. it reads like you faced the same issue and also couldn’t just follow the youtube guide?


Sent from my iPhone using Tapatalk

Link to comment

I setup a separate vm template based on the Mac Vm xml but for passed thru hardware. I setup virt manager like in grindrunners videos and used it to add the GPU and a couple usb devices to the new vm . Its easy as pick and choose. Adding devices thru virt manager does not reset the xml. I also removed the VNC and QXL video adapters in virt manager. After i had the xml setup I booted my VNCed high sierra... edited the plist file with clover configurator to add the NvidiaWeb System Parameter then installed the Nvidia web drivers. Shutdown the VM. Now boot into the new vm with all the hardware add and it should just boot up. I also had to add the rom dump line to my xml as ryzen has no iGPU.

Link to comment

Thanks @david279. What video of @gridrunner are you referring to to handle virt-manager? Is this still really needed or is there an easy work-around within the image or with working with the xml files?

 

Also, do you mind to elaborate a bit how you did the efti thing to migrate from the iso-disk to the local harddisk. I followed the steps in youtube, but it didn't work. What you describe above reads different and probably the way to go for me as well.

 

Thanks again!

Link to comment

 

 

 

This is the video for virt manager stuff. Its not easy but it makes adding new hardware a lot easier. As for the migration for some reason in my case whenever i tried installing clover to the main drive in MacOS it would install CLOVER to the root of the main drive and not the EFI partiton. Don't know if its a issue with the version of clover i was using or it being really a vdisk it wouldn't do it. I would mount the EFI partition of the main disk and all the was there was a APPLE folder. If you look at the pics CLOVER actually created a EFI folder on the Hard drive. The wrong spot. So i just mount the EFI partition and straight copied the contents of the EFI folder on the main disk to the EFI folder in the EFI partition.  5a035abef022e_ScreenShot2017-11-08at1_26_01PM.thumb.png.3961dbb772c03de0cf4f43129f7ad75f.png

Link to comment
  • 2 weeks later...

Thanks for the re-edited video on High Sierra, I have got as far as the boot clover manager but for some strange reason I can’t get the delete key to work getting into the device manager when restarting clover, has anyone come across this? The resolution is unusable when installing HS so I need to change it to match

Link to comment

Hi everyone,

 

I managed to setup a new VM with High Sierra but seem to be having issues booting now. All my VMs get stuck on the first black screen with the TianoCore logo. Any idea why that would be?

 

I am running 6.4.0_rc14 and everything was working at one point and as I changed something in the EFI and rebooted, this happened. I tried restarting a new VM and creating a new vdisk for High Sierra without success. 

 

Here is what is generated in the logs when I start the VM:

2017-11-28 04:33:16.419+0000: Domain id=9 is tainted: high-privileges
2017-11-28 04:33:16.419+0000: Domain id=9 is tainted: custom-argv
2017-11-28 04:33:16.419+0000: Domain id=9 is tainted: host-cpu
2017-11-28T04:33:16.457300Z qemu-system-x86_64: -chardev pty,id=charserial0: char device redirected to /dev/pts/0 (label charserial0)
2017-11-28T04:33:19.867966Z qemu-system-x86_64: vfio: Cannot reset device 0000:00:14.0, no available reset mechanism.
2017-11-28T04:33:20.933148Z qemu-system-x86_64: vfio: Cannot reset device 0000:00:14.0, no available reset mechanism.

 

Any idea?

Link to comment
On 07/11/2017 at 8:35 PM, david279 said:

I setup a separate vm template based on the Mac Vm xml but for passed thru hardware. I setup virt manager like in grindrunners videos and used it to add the GPU and a couple usb devices to the new vm . Its easy as pick and choose. Adding devices thru virt manager does not reset the xml. I also removed the VNC and QXL video adapters in virt manager. After i had the xml setup I booted my VNCed high sierra... edited the plist file with clover configurator to add the NvidiaWeb System Parameter then installed the Nvidia web drivers. Shutdown the VM. Now boot into the new vm with all the hardware add and it should just boot up. I also had to add the rom dump line to my xml as ryzen has no iGPU.

 

Awesome work. One thing I am noticing though, HSierra seems much more sluggish than Sierra when using VNC. What is it like for you?

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.