gridrunner

**VIDEO GUIDE** Mac OSX 10.11, 10.12 and now 10.13 High Sierra !!.

Recommended Posts

High Sierra   10.13     (Update 24 September 2017)
So now High Sierra is here its time for a new video. Things are a lot better for OSX VMs now. Since qemu 2.9 we don't need to use a patched clover.
We can pass through the CPU frequency to the guest from the XML.


This video although for High Sierra will also work for Sierra

 

HOW TO INSTALL HIGH SIERRA OR SIERRA ON UNRAID

 

CREATING INSTALL MEDIA   (Update 24 September 2017)
 

Video guide here >>>>>  https://www.youtube.com/watch?v=BFPiK1Ggbks

 

 

SIERRA 10.12   (update - January 2017)


The newest, easiest and best way to install OS Sierra or El Capitan!

 

 

The newest, easiest and best way to install OS Sierra or El Capitan!

 

Upgrading to OSX 10.12.4  (Update March 27 2017 )  (Apple changed the way the SMC is read so the fakeSMC  kext  was needed) .    


However from qemu  (q35 2.10) and above we can use the osk  key in the XML again. So if you upgrade your unRAID to v version with this qemu  then you will not need to use the below video.

 

 

 

Advanced techniques for hardware passthrough etc.     (Update March  2017)

This video is about advanced OSX VM techniques in KVM with unRAID. You will see how to pass through physical devices to a KVM osx sierra VM such as GPU, sound and USB.
You will learn to what hardware that you can use and how to edit the XML template to add the hardware. You will learn how to use a Nvidia GPU in Sierra by installing the Nvidia web drivers. You will see how to get your HDMI sound working using an HDMI audio kext. I will quickly run through using virt-manager to avoid manual edits then discuss common osx VM problems.

 

Note if using High Sierra as of 24 September 2017 Nvidia have not released web drivers for this OS so we cant have them working in 10.13 (but soon we should)

 

 

 

Advanced OSX VM techniques in unRAID. Get everything working!

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------
Older alternative methods.   (these depreciated methods are now a year old and are just left here in case someone finds it useful)
----------------------------------------------------------------------------------------------------------------------------------------------------

There are 3 guides.
The first covers installing osx on your unRAID server if you don't already have it on there (installing with seabios is easier than ovmf)
The second one covers converting an existing osx VM (seabios) to use ovmf and clover.
The third is doing a fresh install of Mac OS Sierra with ovmf

I hope these guides are useful to you guys as it took a long time!! lol. Been ill off work so had some time !! Many thanks to archedraft and peter_sm for all their work on the original osx guide which inspired me to create one for ovmf.

 

First installing osx using seabios (easiest way)

 

 

Second Converting osx vm from a seabios to ovmf virtual machine to use ovmf with clover

 

 

Do a clean install of mac os Sierra using a clover and ovmf

 

 

Edited by gridrunner
Mac OS High Sierra
  • Like 1

Share this post


Link to post
Share on other sites

This is great , need to try this. Good complement to Archi and My work to get OSX run under KVM.

 

 

Skickat från min iPhone med Tapatalk

Share this post


Link to post
Share on other sites

Oh, also I believe the VNC cursor issue is client related. The noVNC web client can be a pain, sometimes toggling between full screen and back to windowed can help sync the cursor, if that doesn't work for you I suggest connecting with a real VNC viewer, Remmina works well if you are linux based, I saw a couple pages that seem to show how to use it in OSX. Trying to work with a cursor that is out of sync reminds me of trying to walk with the drunk simulator prism glasses that some driver's education classes use. Entertaining for about 2 seconds, and extremely irritating thereafter.

Share this post


Link to post
Share on other sites

Thanks Jonathanm for the feedback. No i didnt mean to leave my key in xml. i am just blurring that in the video now....Thanks :)

yeah the vnc web client is a pain. It actually works fine if you connect from virt-managers vnc client, just not our web one.

I use splashtop desktop for connection to my vms as i can use that outside aswell. Ha never heard of drunk simulator prism glasses....I wonder what it would be like wearing them when drunk...?? lol 8)

Share this post


Link to post
Share on other sites

This is great , need to try this. Good complement to Archi and My work to get OSX run under KVM.

 

 

Skickat från min iPhone med Tapatalk

 

Thanks. Yes your and archedrafts work is excellent and i am glad i can contribute something back :)

Share this post


Link to post
Share on other sites

Thanks Jonathanm for the feedback.

yeah the vnc web client is a pain. It actually works fine if you connect from virt-managers vnc client, just not our web one.

I use splashtop desktop for connection to my vms as i can use that outside aswell. Ha never heard of drunk simulator prism glasses....I wonder what it would be like wearing them when drunk...?? lol 8)

Drunk glasses. https://www.lifeloc.com/goggles.aspx Probably great fun to wear after having actually had a few too many. ;D

 

Previous post no longer needed, so removed. ;)

Share this post


Link to post
Share on other sites

@gridrunner, Did you even try to have clover on is own image and boot from that? I have neither seabios, ovmf or Chameleon in my OSX xml file. booting directly to clover that are installed on my OSX image file.

 

//Peter

 

Share this post


Link to post
Share on other sites

@gridrunner, Did you even try to have clover on is own image and boot from that? I have neither seabios, ovmf or Chameleon in my OSX xml file. booting directly to clover that are installed on my OSX image file.

 

//Peter

 

Hi Peter I am not sure i understand what you mean? probably me being stupid lol!

I dont understand how you dont have ovmf or seabios in your xml??  The xml must use one or the other seabios or ovmf.

 

you must have

 

something like this from archedrafts guide

<os>
<type arch='x86_64' machine='pc-q35-2.3'>hvm</type>
<kernel>/mnt/cache/vm_images/enoch_rev2795_boot</kernel> # heres the chameleon bootloader #
<boot dev='hd'/>
<bootmenu enable='yes'/>
</os>

 

and as it doesn't have the below, its using seabios not  ovmf

<loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/41589327-89c4-099b-b658-e63dc0641e20_VARS-pure-efi.fd</nvram>
    <boot dev='hd'/>

 

At first I tried creating a usb installer for osx on an 8 gig usb flash drive. Then i installed clover to the usb install flash drive.

I didnt want to dd the image (but you could do) so I passed through the usb flash  directly to the vm and booted from that.

 

That did work so you can install the osx, to a fresh image that way without a previous osx vm. But then you need to install clover onto that or always use the dd image of the usb install media with clover on it. And in the past I find using the clover installer, problematic installing it into the efi on a vm.

 

Also it takes so long to create the usb, dd the usb to an image (as not ideal using passthough ) and the dd image takes 8 gigs. Then the install of osx then installing clover on newly installed osx.

 

I think for most people it is far quicker and easier to,

 

1. Install new osx using the normal way with the enoch chameleon bootloader. (or use an existing installed osx one if they have one )

 

2. When disk utility partitions and formats vdisk during the install it creates the efi partition and recovery partition at same time.

 

3. So all that is needed is to open the efi partition after install using EFI Mounter v3 and copy the files there manually.

  (the files i linked in the video. I made by putting in q35-acpi-dsdt.aml, HFSPlus.efi and then edited the config.plist so they ready to go)

 

4. Now the clover is in efi of the osx disk image so no other images needed.

 

5. So all thats left is just adding the ovmf part to the OSX xml

<loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/41589327-89c4-099b-b658-e63dc0641e20_VARS-pure-efi.fd</nvram>

 

and deleting the chameleon bootloader

<kernel>/mnt/cache/vm_images/enoch_rev2795_boot</kernel>

 

 

Hope that answers your question Peter.

 

Share this post


Link to post
Share on other sites

After I installed osx with Cham According to the guide. Then I installed clover to OS X disk then removed Cham from XML file. It looks like this.

 

  <os>
    <type arch='x86_64' machine='pc-q35-2.5'>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/local/sbin/qemu</emulator>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native'/>
      <source dev='/dev/vg_virtual_machines/lv_ElCapitan'/>

Share this post


Link to post
Share on other sites

After I installed osx with Cham According to the guide. Then I installed clover to OS X disk then removed Cham from XML file. It looks like this.

 

  <os>
    <type arch='x86_64' machine='pc-q35-2.5'>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/local/sbin/qemu</emulator>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native'/>
      <source dev='/dev/vg_virtual_machines/lv_ElCapitan'/>

 

Ah ok I see. So you are running the clover bootloader but with your bios as seabios.

If you installed clover to the efi when you did this you only need convert the xml. if not just put clover in the efi partition as my guide.

 

Now goto a linux template and create a new virtual machine.Give it a random name doesnt matter what. Check machine type is q35. Don't assign any vdisks (set to none) then uncheck start vm on creation.

 

Now goto edit xml of that vm can copy whatever is in between the OS tags will be similar to this. Its important to cut and paste this into a text file.

 

 <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/bd14d6e1-92b7-3c50-a16f-329d176d2d9b_VARS-pure-efi.fd</nvram>
  </os>

 

But dont just copy and paste mine in the above example, because when creating an ovmf vm it it also creates a file in the /etc/libvirt/qemu/nvram folder.

That file's name is based on the UUID of the VM (ie mine above is /etc/libvirt/qemu/nvram/bd14d6e1-92b7-3c50-a16f-329d176d2d9b_VARS-pure-efi.fd').

bd14d6e1-92b7-3c50-a16f-329d176d2d9b  is the uuid of my vm.

 

So now you can paste the part you put in the text file into your osx vm as that .fd file will now exist in the correct location.

 

(Just follow the last couple of minutes of the second video if tim not clear here with what i say about starting and creating of vm templates to get the ovmf xml code.)

 

After doing that you can delete the vm you just created with the linux template as that was necessary only to create that .fd file. But to be 100% "proper" you should really copy the uuid into the xml aswell to match but will work without. (I guess if you dont copy the uuid there could be problems if the uuid number was ever generated again on the server same as in the .fd file but i doubt it, unless 2 vms were using the vram file at the ame time????)

 

So now you will be using clover but with ovmf not seabios. I have found performance better in my limited testing with geekbench 4.

My gpu i passed through for osx has broken so I am awaiting another compatible one so not sure if any improvements there.

 

Hope that makes sense. :)

 

 

Share this post


Link to post
Share on other sites

Does this only work in 6.2? I (sort of) attempted it on 6.1.9 and the vm would only at the guest has not initialize the the display adapter (paraphrased) after creating the new EFI and rebooting.

 

I also could have messed something up (probably.)

Share this post


Link to post
Share on other sites

Gridrunner, I have no problem with your guide, I only have another way to boot clover.

 

EDIT

Of course I was using seabios :-) But have now converted to your way!

But when trying to upgrade clover the installer don't see my EFI partition ( Even if it was mounted). But I did a install to my MAC partition and moved the new EFI folder to my EFI partition and added my modified files (kext, config and aml files). But what settings was you enabled in the installation page of clover. ?

 

//Peter

 

Share this post


Link to post
Share on other sites

Does this only work in 6.2? I (sort of) attempted it on 6.1.9 and the vm would only at the guest has not initialize the the display adapter (paraphrased) after creating the new EFI and rebooting.

 

I also could have messed something up (probably.)

 

I followed the video exactly and the same has happened to me. I start the new OVMF VM and i get the same error message ("Guest has not initialized the display yet"). I'm running 6.2 stable.

 

 

EDIT: Changed the VNC to Cirrus and now get the clover boot menu. However, the VM reboots (repeatedly) as soon as the Apple logo is displayed.

Share this post


Link to post
Share on other sites

Does this only work in 6.2? I (sort of) attempted it on 6.1.9 and the vm would only at the guest has not initialize the the display adapter (paraphrased) after creating the new EFI and rebooting.

 

I also could have messed something up (probably.)

 

I followed the video exactly and the same has happened to me. I start the new OVMF VM and i get the same error message ("Guest has not initialized the display yet"). I'm running 6.2 stable.

 

 

EDIT: Changed the VNC to Cirrus and now get the clover boot menu. However, the VM reboots (repeatedly) as soon as the Apple logo is displayed.

 

This can happen when the cpu is not set to core2duo in xml.

can you post your xml file here please (just remove the osk key from it though)

Share this post


Link to post
Share on other sites

Does this only work in 6.2? I (sort of) attempted it on 6.1.9 and the vm would only at the guest has not initialize the the display adapter (paraphrased) after creating the new EFI and rebooting.

 

I also could have messed something up (probably.)

 

I followed the video exactly and the same has happened to me. I start the new OVMF VM and i get the same error message ("Guest has not initialized the display yet"). I'm running 6.2 stable.

 

 

EDIT: Changed the VNC to Cirrus and now get the clover boot menu. However, the VM reboots (repeatedly) as soon as the Apple logo is displayed.

 

This can happen when the cpu is not set to core2duo in xml.

can you post your xml file here please (just remove the osk key from it though)

 

Here is my XML --

 

 

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

  <name>MOMAC02</name>

  <uuid></uuid>

  <metadata>

    <vmtemplate xmlns="unraid" name="Windows 10" icon="/mnt/disks/VM02/MOMAC02/OSX-10.11.png" os="OSX"/>

  </metadata>

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

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

  <memoryBacking>

    <nosharepages/>

  </memoryBacking>

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

  <cputune>

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

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

  </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/2397b50d-5f80-4c96-a331-1962018355cb_VARS-pure-efi.fd</nvram>

  </os>

  <features>

    <acpi/>

    <apic/>

  </features>

  <cpu mode='host-passthrough'>

    <topology sockets='1' cores='1' 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/VM02/MOMAC02/MOMAC02.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:00:20:30'/>

      <source bridge='br0'/>

      <model type='virtio'/>

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

    </interface>

    <serial type='pty'>

      <target port='0'/>

    </serial>

    <console type='pty'>

      <target type='serial' port='0'/>

    </console>

    <channel type='unix'>

      <source mode='connect'/>

      <target type='virtio' name='org.qemu.guest_agent.0'/>

      <address type='virtio-serial' controller='0' bus='0' port='1'/>

    </channel>

    <input type='tablet' bus='usb'/>

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

      <listen type='address' address='0.0.0.0'/>

    </graphics>

    <video>

      <model type='cirrus' vram='16384' heads='1'/>

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

    </video>

    <memballoon model='virtio'>

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

    </memballoon>

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

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

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

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

  </qemu:commandline>

</domain>

 

Share this post


Link to post
Share on other sites

Does this only work in 6.2? I (sort of) attempted it on 6.1.9 and the vm would only at the guest has not initialize the the display adapter (paraphrased) after creating the new EFI and rebooting.

 

I also could have messed something up (probably.)

 

I followed the video exactly and the same has happened to me. I start the new OVMF VM and i get the same error message ("Guest has not initialized the display yet"). I'm running 6.2 stable.

 

 

EDIT: Changed the VNC to Cirrus and now get the clover boot menu. However, the VM reboots (repeatedly) as soon as the Apple logo is displayed.

 

This can happen when the cpu is not set to core2duo in xml.

can you post your xml file here please (just remove the osk key from it though)

 

 

All fixed, i was missing the core2duo in xml.

 

thanks!

Share this post


Link to post
Share on other sites

Does this only work in 6.2? I (sort of) attempted it on 6.1.9 and the vm would only at the guest has not initialize the the display adapter (paraphrased) after creating the new EFI and rebooting.

 

I also could have messed something up (probably.)

 

I followed the video exactly and the same has happened to me. I start the new OVMF VM and i get the same error message ("Guest has not initialized the display yet"). I'm running 6.2 stable.

 

 

EDIT: Changed the VNC to Cirrus and now get the clover boot menu. However, the VM reboots (repeatedly) as soon as the Apple logo is displayed.

 

This can happen when the cpu is not set to core2duo in xml.

can you post your xml file here please (just remove the osk key from it though)

 

Here is my XML --

 

 

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

  <name>MOMAC02</name>

  <uuid></uuid>

  <metadata>

    <vmtemplate xmlns="unraid" name="Windows 10" icon="/mnt/disks/VM02/MOMAC02/OSX-10.11.png" os="OSX"/>

  </metadata>

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

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

  <memoryBacking>

    <nosharepages/>

  </memoryBacking>

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

  <cputune>

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

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

  </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/2397b50d-5f80-4c96-a331-1962018355cb_VARS-pure-efi.fd</nvram>

  </os>

  <features>

    <acpi/>

    <apic/>

  </features>

  <cpu mode='host-passthrough'>

    <topology sockets='1' cores='1' 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/VM02/MOMAC02/MOMAC02.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:00:20:30'/>

      <source bridge='br0'/>

      <model type='virtio'/>

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

    </interface>

    <serial type='pty'>

      <target port='0'/>

    </serial>

    <console type='pty'>

      <target type='serial' port='0'/>

    </console>

    <channel type='unix'>

      <source mode='connect'/>

      <target type='virtio' name='org.qemu.guest_agent.0'/>

      <address type='virtio-serial' controller='0' bus='0' port='1'/>

    </channel>

    <input type='tablet' bus='usb'/>

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

      <listen type='address' address='0.0.0.0'/>

    </graphics>

    <video>

      <model type='cirrus' vram='16384' heads='1'/>

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

    </video>

    <memballoon model='virtio'>

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

    </memballoon>

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

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

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

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

  </qemu:commandline>

</domain>

 

Yes osx will not boot unless it thinks it has a core2duo in it.

 

Add this above    </qemu:commandline>

 

 <qemu:arg value='-cpu'/>
    <qemu:arg value='core2duo,vendor=GenuineIntel'/>

 

also remove this line or else your mouse will not work at all.

 

 <input type='tablet' bus='usb'/>

 

also remove these lines

  <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>

 

should work fine now

 

if it still reboots at apple sign then change this part

 

<cpu mode='host-passthrough'>
    <topology sockets='1' cores='1' threads='2'/>
  </cpu>

 

to

 

 </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>core2duo</model>
    <vendor>Intel</vendor>
  </cpu>

 

but if you have added the first bit above the </qemu:commandline> you shouldnt need to worry about that.

You could use the xml file in the description of the video in youtube if you want and edit that.

 

Let me know if you have any other probs!

Share this post


Link to post
Share on other sites

FYI: My GPU is OK with UEFI

 

//Peter

 

Did you have to do anything special in your xml? All I did was copy/paste my hostdev section for the gpu and gpu audio from seabios xml in to the ovmf xml.

When I start the VM i get a black screen. Do you need to inject or modify the clover boot parameters?

Share this post


Link to post
Share on other sites

Hi Gridrunner, I can confirm that your guide was working great. I am not passing through a GPU.

 

Only remaining question is how to increase the screen resolution. Actually system info of the VM is only showing 800x600.

 

THANKS A LOT !!!

Share this post


Link to post
Share on other sites

Gridrunner, I have no problem with your guide, I only have another way to boot clover.

 

EDIT

Of course I was using seabios :-) But have now converted to your way!

But when trying to upgrade clover the installer don't see my EFI partition ( Even if it was mounted). But I did a install to my MAC partition and moved the new EFI folder to my EFI partition and added my modified files (kext, config and aml files). But what settings was you enabled in the installation page of clover. ?

 

//Peter

 

 

Hi Peter sorry for late reply.

Yes if you want to edit clover. Open the efi partition then goto clover and click open file then goto efi partition then open the config.plist in the clover folder. It doesnt find it itself for some reason.

clover1.png

 

 

 

 

clover installer settings as below.

 

 

 

 

clover2.png

Share this post


Link to post
Share on other sites

Hi Gridrunner, I can confirm that your guide was working great. I am not passing through a GPU.

 

Only remaining question is how to increase the screen resolution. Actually system info of the VM is only showing 800x600.

 

THANKS A LOT !!!

 

Glad you have got it working. I have not got the screen correctly showing more than 800x600. You can edit the resolution in the config.plist but it seems to mess up the screen for me. But you may have better luck?

 

The reason 800x600 works is because that is the setting in the bios of the vm.  It has to match the  resolution of the osx when using vnc.

If using gpu passthrough this isnt an issue.

 

If you change the resolution in the bios aswell it may work. But you would have to do so every boot. I havent tried yet as i can never get into the bios screen quick enough!! I will have a look at this problem and see if i can figure a way around this. This isnt a problem on seabios so maybe boot with that. You can still use same disk image just setup another xml and point it to the vdisk but with the seabios settings and bootloader file.

 

 

Share this post


Link to post
Share on other sites

Gridrunner, I have no problem with your guide, I only have another way to boot clover.

 

EDIT

Of course I was using seabios :-) But have now converted to your way!

But when trying to upgrade clover the installer don't see my EFI partition ( Even if it was mounted). But I did a install to my MAC partition and moved the new EFI folder to my EFI partition and added my modified files (kext, config and aml files). But what settings was you enabled in the installation page of clover. ?

 

//Peter

 

 

Hi Peter sorry for late reply.

Yes if you want to edit clover. Open the efi partition then goto clover and click open file then goto efi partition then open the config.plist in the clover folder. It doesnt find it itself for some reason.

clover1.png

 

 

 

 

clover installer settings as below.

 

 

 

 

clover2.png

 

Thanks, but did your clover upgrade packages find your EFI parttions ?

 

//Peter

Share this post


Link to post
Share on other sites

FYI: My GPU is OK with UEFI

 

//Peter

 

OK, I have to use nvda_drv=1 in the clover boot options to get my GT730 to work.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


Copyright © 2005-2017 Lime Technology, Inc. unRAID® is a registered trademark of Lime Technology, Inc.