[Support] SpaceinvaderOne - Macinabox


Recommended Posts

Hi intrepid virtualizers,

What is the fastest, most reliable guide for getting a macOS VM up, WITH iCloud services (iMessage) in 2022?  

I spent a full day on what I thought would be a fast process, given the support and broad adoption of macinabox. I can get as far as a running Big Sur or Monterey, but without iCloud account sync.  12 grueling hours 3 distributions, and 5 returns to square-one later, I'm close to giving up on this for myself. 

I ran into so many issues that have already been covered in this thread and other blogs, that there isn't much point in listing all the problems.  I'm just hoping someone can point me to the best guide or "shortest path" for a basic environment. Ultimately if this project is still very fiddly, I'll just have to reprioritize it for more important services.  Thanks for any advice!

* Unraid 6.9.2
* Any macOS distro that will still sync icloud/imessages.  Preferably Big Sur
* NO graphics card needed.  Planning to use VNC/Anydesk/Splashtop
* Stretch goal: Airdrop.  Really not important right now.

Link to comment
9 hours ago, cat2devnull said:

These are the lines of interest;

2022-03-20T10:47:08.718811Z qemu-system-x86_64: vfio_err_notifier_handler(0000:04:00.1) Unrecoverable error detected. Please collect any data possible and then kill the guest
2022-03-20T10:47:08.718907Z qemu-system-x86_64: vfio_err_notifier_handler(0000:04:00.0) Unrecoverable error detected. Please collect any data possible and then kill the guest


So QEMU is reporting that it cannot gain access to the video card on bus 0x04.
 

You may be hitting the AMD reset bug. It would be interesting to see if a cold reboot (turn off power at the wall for 5-10 seconds) makes it work temporarily. If so, you may need the AMD Reset Patch which can be installed as an App from the Unraid GUI. Also upgrading to 6.10 RC3 may help with stability as it has some improvements for this.
From the release notes: "Added support for gnif/vendor-reset.  This simplifies @ich777's AMD Vendor Reset plugin which permits users to get their AMD video cards to reset properly.

Also how did you go with all the things I mentioned when we chatted last month?
 

As before if you need more help, you will need to provide more information.

- The motherboard, CPU and video card(s) details.

- Also the relevant logs from the Unraid OS and VM.

- Include a copy of your System Devices (Tools -> System Devices)

 

 

Hello thanks again i still have the same problem with all the instruction provided. 

 

here is my config :

 

 

ASUSTeK COMPUTER INC. TUF GAMING B560-PLUS WIFI , Version Rev 1.xx
American Megatrends Inc., Version 0820
BIOS dated: Tue 27 Apr 2021 12:00:00 AM CEST

 

11th Gen Intel® Core™ i5-11600K @ 3.90GHz

 

and the log from the VM  

 

2022-03-20 18:41:14.174+0000: starting up libvirt version: 7.10.0, qemu version: 6.2.0, kernel: 5.15.30-Unraid, hostname: NAS
LC_ALL=C \
PATH=/bin:/sbin:/usr/bin:/usr/sbin \
HOME='/var/lib/libvirt/qemu/domain-1-Macinabox Monterey' \
XDG_DATA_HOME='/var/lib/libvirt/qemu/domain-1-Macinabox Monterey/.local/share' \
XDG_CACHE_HOME='/var/lib/libvirt/qemu/domain-1-Macinabox Monterey/.cache' \
XDG_CONFIG_HOME='/var/lib/libvirt/qemu/domain-1-Macinabox Monterey/.config' \
/usr/local/sbin/qemu \
-name 'guest=Macinabox Monterey,debug-threads=on' \
-S \
-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain-1-Macinabox Monterey/master-key.aes"}' \
-blockdev '{"driver":"file","filename":"/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver":"raw","file":"libvirt-pflash0-storage"}' \
-blockdev '{"driver":"file","filename":"/etc/libvirt/qemu/nvram/030924d0-0b1e-4fdf-84b7-678f1a457cd6_VARS-pure-efi.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \
-machine pc-q35-6.2,usb=off,dump-guest-core=off,mem-merge=off,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,memory-backend=pc.ram \
-accel kvm \
-cpu host,migratable=on,host-cache-info=on,l3-cache=off \
-m 32768 \
-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":34359738368}' \
-overcommit mem-lock=off \
-smp 12,sockets=1,dies=1,cores=6,threads=2 \
-uuid 030924d0-0b1e-4fdf-84b7-678f1a457cd6 \
-display none \
-no-user-config \
-nodefaults \
-chardev socket,id=charmonitor,fd=35,server=on,wait=off \
-mon chardev=charmonitor,id=monitor,mode=control \
-rtc base=utc,driftfix=slew \
-global kvm-pit.lost_tick_policy=delay \
-no-hpet \
-no-shutdown \
-boot strict=on \
-device '{"driver":"pcie-root-port","port":10,"chassis":1,"id":"pci.1","bus":"pcie.0","addr":"0x1.0x2"}' \
-device '{"driver":"pcie-root-port","port":11,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x3"}' \
-device '{"driver":"pcie-root-port","port":18,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x2.0x2"}' \
-device '{"driver":"pcie-root-port","port":19,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x2.0x3"}' \
-device '{"driver":"pcie-root-port","port":8,"chassis":5,"id":"pci.5","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \
-device '{"driver":"pcie-root-port","port":9,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x1.0x1"}' \
-device '{"driver":"ich9-usb-ehci1","id":"usb","bus":"pcie.0","addr":"0x7.0x7"}' \
-device '{"driver":"ich9-usb-uhci1","masterbus":"usb.0","firstport":0,"bus":"pcie.0","multifunction":true,"addr":"0x7"}' \
-device '{"driver":"ich9-usb-uhci2","masterbus":"usb.0","firstport":2,"bus":"pcie.0","multifunction":true,"addr":"0x7.0x1"}' \
-device '{"driver":"ich9-usb-uhci3","masterbus":"usb.0","firstport":4,"bus":"pcie.0","addr":"0x7.0x2"}' \
-device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.2","addr":"0x0"}' \
-blockdev '{"driver":"file","filename":"/mnt/user/domains/Macinabox Monterey/Monterey-opencore.img","node-name":"libvirt-3-storage","cache":{"direct":false,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-3-format","read-only":false,"cache":{"direct":false,"no-flush":false},"driver":"raw","file":"libvirt-3-storage"}' \
-device '{"driver":"ide-hd","bus":"ide.2","drive":"libvirt-3-format","id":"sata0-0-2","bootindex":1,"write-cache":"on"}' \
-blockdev '{"driver":"file","filename":"/mnt/user/isos/Monterey-install.img","node-name":"libvirt-2-storage","cache":{"direct":false,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-2-format","read-only":false,"cache":{"direct":false,"no-flush":false},"driver":"raw","file":"libvirt-2-storage"}' \
-device '{"driver":"ide-hd","bus":"ide.3","drive":"libvirt-2-format","id":"sata0-0-3","write-cache":"on"}' \
-blockdev '{"driver":"file","filename":"/mnt/user/domains/Macinabox Monterey/macos_disk.img","node-name":"libvirt-1-storage","cache":{"direct":false,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":false,"no-flush":false},"driver":"raw","file":"libvirt-1-storage"}' \
-device '{"driver":"virtio-blk-pci","bus":"pci.4","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk4","write-cache":"on"}' \
-fsdev local,security_model=passthrough,id=fsdev-fs0,path=/mnt/user/ \
-device '{"driver":"virtio-9p-pci","id":"fs0","fsdev":"fsdev-fs0","mount_tag":"Nas","bus":"pci.1","addr":"0x0"}' \
-netdev tap,fd=37,id=hostnet0,vhost=on,vhostfd=38 \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:60:6c:89","bus":"pci.3","addr":"0x0"}' \
-chardev pty,id=charserial0 \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0"}' \
-chardev socket,id=charchannel0,fd=39,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-device '{"driver":"usb-tablet","id":"input0","bus":"usb.0","port":"1"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"vfio-pci","host":"0000:04:00.0","id":"hostdev0","bus":"pci.5","addr":"0x0","romfile":"/mnt/user/isos/vbios/AMDRX580.rom"}' \
-device '{"driver":"vfio-pci","host":"0000:04:00.1","id":"hostdev1","bus":"pci.6","addr":"0x0"}' \
-device '{"driver":"usb-host","hostdevice":"/dev/bus/usb/001/006","id":"hostdev2","bus":"usb.0","port":"2"}' \
-device '{"driver":"usb-host","hostdevice":"/dev/bus/usb/001/002","id":"hostdev3","bus":"usb.0","port":"3"}' \
-device '{"driver":"usb-host","hostdevice":"/dev/bus/usb/001/003","id":"hostdev4","bus":"usb.0","port":"4"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
char device redirected to /dev/pts/0 (label charserial0)
2022-03-20T18:41:17.874979Z qemu-system-x86_64: vfio_err_notifier_handler(0000:04:00.1) Unrecoverable error detected. Please collect any data possible and then kill the guest
2022-03-20T18:41:17.875055Z qemu-system-x86_64: vfio_err_notifier_handler(0000:04:00.0) Unrecoverable error detected. Please collect any data possible and then kill the guest
2022-03-20T18:42:02.007285Z qemu-system-x86_64: terminating on signal 15 from pid 11978 (/usr/sbin/libvirtd)
2022-03-20 18:42:04.608+0000: shutting down, reason=destroyed


 

FireShot Capture 001 - NAS_SysDevs - 192.168.1.10.png

Link to comment

So my understanding of what these errors are indicating is that the Unraid Linux kernel is trying to request access to the card on bus 0x04 and pass it to the VM. For what ever reason this process is failing. This is either a hardware/firmware issue with the motherboard, PCIe bus, video card or a kernel/QEMU software issue.

 

So just to confirm you have tried the following;
- Cold boot
- AMD Reset Patch

- Pulled the bios from your own card (not downloaded from the internet)

- Tried the VM while passing the bios and without

- Tried with the card stubbed and not stubbed

- Corrected your XML as per my earlier post to include the multifunction section

 

If none of this helped then you have hit all the low hanging fruit. Next things to try...

- Can you get the card to work at all? Try and pass the card to a Win10 VM?

- Try a more recent virtual machine (I'm using Q35-5.1)

- Try a more up to date OVMF (this fixed some weird issues for me)

- Try a motherboard bios upgrade (early AMD bioses did have issues with PCIe management)

- Try a video card bios upgrade (if there is one available from the card manufacturer, some video card bioses break PCIe passthrough)

 

 

I see you have 3 video cards in this machine (Nvidia, AMD and iGPU). This in itself can cause problems.

- Try switching the video card into different PCIe slot (is it in a slot connected directly to the CPU or via the chipset? Is it the primary display or not?)


This is now getting beyond what this thread is intended for. Next step would be to move your request over to the VM ENGINE (KVM) forum.
FYI I get how frustrating this type of error can be. I've hit video passthrough faults (this exact error) on three occasions and each one has required a different fix. Hang in there.

  • Thanks 1
Link to comment
6 hours ago, EnemyLemon said:

What is the fastest, most reliable guide for getting a macOS VM up, WITH iCloud services (iMessage) in 2022?  

I spent a full day on what I thought would be a fast process, given the support and broad adoption of macinabox. I can get as far as a running Big Sur or Monterey, but without iCloud account sync.  12 grueling hours 3 distributions, and 5 returns to square-one later, I'm close to giving up on this for myself. 

* Any macOS distro that will still sync icloud/imessages.  Preferably Big Sur
* NO graphics card needed.  Planning to use VNC/Anydesk/Splashtop
* Stretch goal: Airdrop.  Really not important right now.

 

Hi @EnemyLemon,
I'm not trying to be snarky but to use an analogy, what you have said is...
"I want to speak Italian but I don't want to have to go to any classes or learn the language." :)
Macinabox is a fantastic solution that lowers the bar to get into Hackintosh but is unavoidably brittle due to the constantly changing environment of hardware, software and MacOS versions.
My honest advice to most people who actually want to run MacOS long term is allow yourself the time to build your Hackintosh from scratch using the OpenCore Install Guide.


But in your case, if you have managed to get any version of MacOS to boot in a VM then you have already solved 90% of the problem. Getting iMessage to work once you have a booting system is pretty straight forward. Without knowing the exact nature of your issue here is some generic advice that should get you over the line;

 

So the definitive guide for getting iMessage working is from the OpenCore team. Just keep in mind that it was not written with Unraid virtualization in mind so you need to make some adjustments.

 

Step 1: Make sure your interface en0 is "built-in".

The only sane way to do this is to move it to bus 0x00 (the internal virtual PCIe bus). You can find more information about how to check and correct it in this post. Don't use the OpenCore technique because this is only necessary if you have physical hardware that you can't just remap in a VM.
 

Step 2: Make sure the MAC address (ROM) of your virtual ethernet card is from a valid range that is in use by Apple in the real world. I use 60:03:08:xx:xx:xx but you can use any Apple range (change the xx to something random). Don't use the Macinabox default. This then needs to be updated in both your VM XML and your EFI config.plist file.

 

Step 3: Generate your own serial number and check it against the Apple Check Coverage page to make sure it is not valid.

 

There is often confusion around the serial number requirement. Contrary to the guide and public opinion, there is no requirement to have a valid serial number. The options are;

Valid Purchase date - This means the serial number is real and has been registered to a real machine. If you use it, then many things will break for you and the other user who owns the machine, which is bad and will draw attention to you and the Hackintosh community as a whole, so don't do it.
Purchase Date not Validated - This means that it is a valid serial number that has not (yet) been registered as purchased. It may be attached to a machine in the future and then it will break as per above.

We’re sorry, but this serial number isn’t valid - The serial number is not real and thus can never be assigned to a real machine. Currently Apple do not check the validity of serial numbers so this is the best option. Of course this could change in the future but for now it works so this is what you should use. The wording of the Dortania guide is just a bit confusing. 

 

Now, although Apple don't check the validity of serial numbers, there are things they do check. The serial number is not random, it is calculated via a formula that incorporates the machine model and date of manufacture. So you need to use a tool such as GenSMBIOS to generate an appropriate serial for the type of machine you are virtualizing (use iMacPro1,1 unless you know what you are doing). Make sure to use the matching MLB, SystemProductName, SystemSerialNumber and SystemUUID that GenSMBIOS generates and add to your config.plist

 

So if you step through the OpenCore guide with the above 3 points in mind, you should be able to get iMessage working without any real issues. As for your stretch goal of Airdrop, this can also work but it needs a compatible Broadcom WiFi/Bluetooth card. The gotcha with this is that the WiFi will connect over PCIe but the bluetooth requires a little cable connecting to a spare USB port.

 

Hope this helps.

  • Thanks 3
  • Upvote 1
Link to comment

Hi there, i managed to get Monterey with my RX570 working today ! But i have one big problem and i cant find a solution ! Hopefully you can help me.

 

On VNC - When i Boot the VM i can select the Mac HD and it boots up to the login screen - then i enter my password end i am on the desktop - from this moment i am unable to use mouse or Keyboard in VNC - Mouse stucks in the left upper corner and keyboard do nothing.

 

On GPU with 2 Monitors ( HDMI, DP) - when i boot up i can select with the Keyboard ( Wireless Logitech Gaming) the Mac Os HD an can boot to the Login Window - Both Monitors working. But from this window i cant use Keyboard and the Mouse Cursor als Stucking at the left upper corner.

 

Any Idea what i can try to fix my problems ? 

 

Best Beni 

Link to comment
On 3/20/2022 at 5:27 PM, cat2devnull said:

 

Hi @EnemyLemon,
I'm not trying to be snarky but to use an analogy, what you have said is...
"I want to speak Italian but I don't want to have to go to any classes or learn the language." :)
Macinabox is a fantastic solution that lowers the bar to get into Hackintosh but is unavoidably brittle due to the constantly changing environment of hardware, software and MacOS versions.
My honest advice to most people who actually want to run MacOS long term is allow yourself the time to build your Hackintosh from scratch using the OpenCore Install Guide.


But in your case, if you have managed to get any version of MacOS to boot in a VM then you have already solved 90% of the problem. Getting iMessage to work once you have a booting system is pretty straight forward. Without knowing the exact nature of your issue here is some generic advice that should get you over the line;

 

So the definitive guide for getting iMessage working is from the OpenCore team. Just keep in mind that it was not written with Unraid virtualization in mind so you need to make some adjustments.

 

Step 1: Make sure your interface en0 is "built-in".

The only sane way to do this is to move it to bus 0x00 (the internal virtual PCIe bus). You can find more information about how to check and correct it in this post. Don't use the OpenCore technique because this is only necessary if you have physical hardware that you can't just remap in a VM.
 

Step 2: Make sure the MAC address (ROM) of your virtual ethernet card is from a valid range that is in use by Apple in the real world. I use 60:03:08:xx:xx:xx but you can use any Apple range (change the xx to something random). Don't use the Macinabox default. This then needs to be updated in both your VM XML and your EFI config.plist file.

 

Step 3: Generate your own serial number and check it against the Apple Check Coverage page to make sure it is not valid.

 

There is often confusion around the serial number requirement. Contrary to the guide and public opinion, there is no requirement to have a valid serial number. The options are;

Valid Purchase date - This means the serial number is real and has been registered to a real machine. If you use it, then many things will break for you and the other user who owns the machine, which is bad and will draw attention to you and the Hackintosh community as a whole, so don't do it.
Purchase Date not Validated - This means that it is a valid serial number that has not (yet) been registered as purchased. It may be attached to a machine in the future and then it will break as per above.

We’re sorry, but this serial number isn’t valid - The serial number is not real and thus can never be assigned to a real machine. Currently Apple do not check the validity of serial numbers so this is the best option. Of course this could change in the future but for now it works so this is what you should use. The wording of the Dortania guide is just a bit confusing. 

 

Now, although Apple don't check the validity of serial numbers, there are things they do check. The serial number is not random, it is calculated via a formula that incorporates the machine model and date of manufacture. So you need to use a tool such as GenSMBIOS to generate an appropriate serial for the type of machine you are virtualizing (use iMacPro1,1 unless you know what you are doing). Make sure to use the matching MLB, SystemProductName, SystemSerialNumber and SystemUUID that GenSMBIOS generates and add to your config.plist

 

So if you step through the OpenCore guide with the above 3 points in mind, you should be able to get iMessage working without any real issues. As for your stretch goal of Airdrop, this can also work but it needs a compatible Broadcom WiFi/Bluetooth card. The gotcha with this is that the WiFi will connect over PCIe but the bluetooth requires a little cable connecting to a spare USB port.

 

Hope this helps.


This is very helpful, and regarding your analogy: When I started last weekend, I didn't realize running a hackintosh/macinabox in 2022 is still akin to developing new linguistic fluency :).  I already have many places to spend my IT "play time", and this is what prevented me from building a hackintosh up to this point.  But your tips are highly appreciated because a stable/functional VM seems to be closely within reach now.  Thank you very much!

Link to comment
 
are you confident? haha don't want to screw up my install. Alternatively - what is the best way to backup my entire installation so that if it does mess up, i can just revert back to how it was pre upgrading within macOS

Bump - what do I need to backup so that if the update to Monterey within the OS fails, I can restore to my last stable version?
Link to comment
On 1/8/2022 at 9:27 AM, ghost82 said:

I hope you didn't copy the efi files from the opencore qcow2/img to the main mac os disk.

If you didn't copy it's a lot easier.

 

Try this:

Download the latest opencore img:

https://github.com/SpaceinvaderOne/Macinabox/raw/84a82e54ae5f596f492ead2f2d98767029e2826a/bootloader/OpenCore.img.zip

 

Extract from the zip.

 

Look at the xml, copy the extracted file in the same folder where you have the actual opencore qcow2/img (don't delete it, so it will be easier to swap it again if it doesn't boot for whatever reason).

 

Modify your xml to point to the new opencore.img

Note: check the disk section and make sure to have type='raw' (if your old opencore image was qcow2 you have type='qcow2' and this must be changed).

 

Try to boot the vm.

If it boots, upgrade in place, you won't have issues in booting monterey.

 

If it doesn't boot, do what you did to install mojave, but obviously make a monterey installer disk in your mojave vm and use the new opencore image, and make a clean install.

 

 

On 1/8/2022 at 10:28 AM, ghost82 said:

Correct!

The critical part of a mac os vm is the bootloader (opencore).

If you change something in the bootloader and the vm doesn't boot, it's easier to replace the whole opencore image with a backup (that worked), otherwise you need to mount the fat32 partition inside the mac os disk (the efi partition, that contains opencore), feasible if you know how to do it, but not recommended for users approaching a mac os vm or linux in general.

 

Hello - I have Big Sur installed and working correctly right now. I am trying to find information of how to upgrade to Monterey and I cannot find a clear answer. A few people tell me "just go ahead and upgrade inside the OS" and then I found posts like yours that seem quite complex and I get confused.

 

Can someone please pin a guide or explain exactly how one is supposed to update to Monterey if you installed Big Sur via macinabox like the original guide had?

Edited by Linguafoeda
Link to comment
On 3/23/2022 at 4:47 AM, Linguafoeda said:

A few people tell me "just go ahead and upgrade inside the OS" and then I found posts like yours that seem quite complex and I get confused

Simple answer is that you can update mac os from within mac os, and this will be successful if the bootloader is compatible with the new mac os version.

Sounds weird, but it is what it is...

So, if you don't know what you are doing, I would backup the vm you are going to update, mac os vdisk, bootloader vdisk (if any), vm xml, and then try the update.

Then you will have 2 cases:

1. it boots without issues --> you are happy

2. it doesn't boot --> you are not happy:

3a. --> you restore the backup --> it boots --> you are not so happy because it didn't update, but at least it boots

3b. --> you fix it yourself or ask for help to make it to boot

Link to comment
11 minutes ago, ghost82 said:

Simple answer is that you can update mac os from within mac os, and this will be successful if the bootloader is compatible with the new mac os version.

Sounds weird, but it is what it is...

So, if you don't know what you are doing, I would backup the vm you are going to update, mac os vdisk, bootloader vdisk (if any), vm xml, and then try the update.

Then you will have 2 cases:

1. it boots without issues --> you are happy

2. it doesn't boot --> you are not happy:

3a. --> you restore the backup --> it boots --> you are not so happy because it didn't update, but at least it boots

3b. --> you fix it yourself or ask for help to make it to boot


Thank you, that is very helpful. I'll bsckup the XML + vdisk as an initial step.

 

Which bootloader supports Monterey / how do you know you have the right one installed before going down the upgrade path

Link to comment
5 minutes ago, Linguafoeda said:

Which bootloader supports Monterey

Opencore supports monterey fully, I'm running it with the latest monterey 12.3.

 

5 minutes ago, Linguafoeda said:

how do you know you have the right one installed

That is THE question...

You can look for commits at the official github acidanthera page:

https://github.com/acidanthera/OpenCorePkg/commits/master

 

and look for descriptions pointing to fixes for newer oses.

 

If it doesn't boot you could enable logging to file in bootloader and see where/why it doesn't boot.

 

Note that I have to say that for our qemu vms it's quite difficult that a "not so old" opencore will totally break the vm, unless you mess it with custom configurations or wrong settings.

In most cases, if it boots big sur it will boot monterey.

 

If the bootloader isn't able to boot a newer os because something in the os has changed and a fix is made to the bootloader to make it boot, you need to update the bootloader, you can compile it yourself, or you can wait for someone else to compile it and download the compiled files, or you can wait for someone else to compile it, to make a new vdisk with the newer files and download that vdisk and replace/boot with the new opencore.

 

Abilities to do this range from low/medium to high, again if you are not expert, just take precautions (backups) and then ask for help if something goes wrong.

  • Like 1
Link to comment

Bluetooth stack in monterey has undergone significant changes.

This means that lots of cards do not work at all or do not work as intended.

Best option is to have a monterey compatible original mac card to be installed into a pcie adapter.

Supported chipsets for monterey should be:

BCM943602

BCM94360

BCM94352

BCM94350

Link to comment
20 hours ago, ghost82 said:

Opencore supports monterey fully, I'm running it with the latest monterey 12.3.

 

That is THE question...

You can look for commits at the official github acidanthera page:

https://github.com/acidanthera/OpenCorePkg/commits/master

 

and look for descriptions pointing to fixes for newer oses.

 

If it doesn't boot you could enable logging to file in bootloader and see where/why it doesn't boot.

 

Note that I have to say that for our qemu vms it's quite difficult that a "not so old" opencore will totally break the vm, unless you mess it with custom configurations or wrong settings.

In most cases, if it boots big sur it will boot monterey.

 

If the bootloader isn't able to boot a newer os because something in the os has changed and a fix is made to the bootloader to make it boot, you need to update the bootloader, you can compile it yourself, or you can wait for someone else to compile it and download the compiled files, or you can wait for someone else to compile it, to make a new vdisk with the newer files and download that vdisk and replace/boot with the new opencore.

 

Abilities to do this range from low/medium to high, again if you are not expert, just take precautions (backups) and then ask for help if something goes wrong.

 

 

I tried to update to Monterey internally and i got this screen that won't budge. Not sure what may be missing / error. EDIT - I force quit the VM, restarted it and it went about successfully updating to Monterey!

 

Had a few follow ups:

 

1. I’m seeing major issues with Chrome running properly. Essentially it doesn’t render similar to issue describe in this thread on reddit. Anyone else have similar rendering issues on Monterey? I don’t have an external GPU plugged in if that matters.

 

2. Is there a way to reduce the size of the macOS vdisk to actual usage vs. its pre-allocated to 100GB? I noticed my Windows VM is dynamic size (i.e. i set it up as 100G with VirtIO vdisk bus, and it currently takes up 36G as vdisk1.img in Domains) while macOS vdisk is always a flat 100GB. Would make backing up much smaller if it can be dynamic but not sure how to set that up with my existing macOS vdisk

 

3. just generally, how would i go about updating my opencore to the latest version? I think I installed macinabox Big Sur with opencore 2.19.1.0 as I had issues trying to install with 2.50. Below is the current version I have

 

image.png.225fbb4dda509105d1b981f33e797c86.png

Edited by Linguafoeda
Link to comment
On 3/24/2022 at 8:24 PM, Linguafoeda said:

1. I’m seeing major issues with Chrome running properly. Essentially it doesn’t render similar to issue describe in this thread on reddit. Anyone else have similar rendering issues on Monterey? I don’t have an external GPU plugged in if that matters.

You have no video acceleration, so this is expected and not limited to monterey.

---

On 3/24/2022 at 8:24 PM, Linguafoeda said:

2. Is there a way to reduce the size of the macOS vdisk to actual usage vs. its pre-allocated to 100GB?

If you run:

qemu-img info /path/to/vdisk.img

in a unraid terminal and in the output you see "virtual size" = "disk size", it means that the vdisk didn't shrink when you deleted files in the vm and when free space on vdisk increases (when you delete some files in the vm) it doesn't sync with the free disk space on the host; this means that one day in the future the host will see the real disk full.

You can sync the free space between the vm and host in different ways, the fastest and preferred is to use trim inside the vm and setup the vdisk as non rotational.

Note that if you use virtio controller to attach the vdisk this will probably not work (at least it didn't work last time I tried, now I'm passing through the sata controller directly); it works with emulated sata controller.

a. For unraid < 6.10RC1 (6.10RC1 excluded):

a1. check your vdisk settings in the xml, for example:

    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/path/to/vdisk.img'/>
      <backingStore/>
      <target dev='hdd' bus='sata'/>
      <alias name='sata0-0-3'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </disk>

and change the second line to:

    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native' discard='unmap'/>
      <source file='/path/to/vdisk.img'/>
      <backingStore/>
      <target dev='hdd' bus='sata'/>
      <alias name='sata0-0-3'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </disk>

 

add this after <qemu:commandline>

    <qemu:arg value='-set'/>
    <qemu:arg value='device.sata0-0-3.rotation_rate=1'/>

sata0-0-3 being the alias of the disk.

 

b. For unraid >=6.10RC1 (6.10RC1 included):

b1. check your vdisk settings in the xml, for example:

    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/path/to/vdisk.img'/>
      <backingStore/>
      <target dev='hdd' bus='sata'/>
      <alias name='sata0-0-3'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </disk>

 

and change to:

    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native' discard='unmap'/>
      <source file='/path/to/vdisk.img'/>
      <backingStore/>
      <target dev='hdd' bus='sata' rotation_rate='1'/>
      <alias name='sata0-0-3'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </disk>

 

c. in the mac os vm enable trim: run a terminal, type:

sudo trimforce enable

 

and follow instructions.

Mac os will reboot, the vm will see the vdisk as an ssd, trim will be enabled and free space will be synched.

---

On 3/24/2022 at 8:24 PM, Linguafoeda said:

3. just generally, how would i go about updating my opencore to the latest version? I think I installed macinabox Big Sur with opencore 2.19.1.0 as I had issues trying to install with 2.50

That is not opencore, but opencore configurator.

About the update of opencore I wrote something here:

https://github.com/SpaceinvaderOne/Macinabox/pull/47#issuecomment-869157952

Edited by ghost82
  • Like 1
Link to comment
10 hours ago, ghost82 said:

You have no video acceleration, so this is expected and not limited to monterey.

---

If you run:

qemu-img info /path/to/vdisk.img

in a unraid terminal and in the output you see "virtual size" = "disk size", it means that the vdisk didn't shrink when you deleted files in the vm and when free space on vdisk increases (when you delete some files in the vm) it doesn't sync with the free disk space on the host; this means that one day in the future the host will see the real disk full.

You can sync the free space between the vm and host in different ways, the fastest and preferred is to use trim inside the vm and setup the vdisk as non rotational.

Note that if you use virtio controller to attach the vdisk this will probably not work (at least it didn't work last time I tried, now I'm passing through the sata controller directly); it works with emulated sata controller.

a. For unraid < 6.10RC2 (6.10RC2 excluded):

a1. check your vdisk settings in the xml, for example:

    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/path/to/vdisk.img'/>
      <backingStore/>
      <target dev='hdd' bus='sata'/>
      <alias name='sata0-0-3'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </disk>

and change the second line to:

    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native' discard='unmap'/>
      <source file='/path/to/vdisk.img'/>
      <backingStore/>
      <target dev='hdd' bus='sata'/>
      <alias name='sata0-0-3'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </disk>

 

add this after <qemu:commandline>

    <qemu:arg value='-set'/>
    <qemu:arg value='device.sata0-0-3.rotation_rate=1'/>

sata0-0-3 being the alias of the disk.

 

b. For unraid >=6.10RC2 (6.10RC2 included):

b1. check your vdisk settings in the xml, for example:

    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/path/to/vdisk.img'/>
      <backingStore/>
      <target dev='hdd' bus='sata'/>
      <alias name='sata0-0-3'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </disk>

 

and change to:

    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native' discard='unmap'/>
      <source file='/path/to/vdisk.img'/>
      <backingStore/>
      <target dev='hdd' bus='sata' rotation_rate='1'/>
      <alias name='sata0-0-3'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </disk>

 

c. in the mac os vm enable trim: run a terminal, type:

sudo trimforce enable

 

and follow instructions.

Mac os will reboot, the vm will see the vdisk as an ssd, trim will be enabled and free space will be synched.

---

That is not opencore, but opencore configurator.

About the update of opencore I wrote something here:

https://github.com/SpaceinvaderOne/Macinabox/pull/47#issuecomment-869157952

 

1. Is there a way to passthrough the integrated GPU from my 10th gen i7 CPU? I don't have a slot available to plugin a GPU but would love to get rendering working properly if there are any workarounds

 

2. How do i find the alias-name of the disk? I tried "sata0-0-3" but I don't have "alias name=" in my own XML. I assume by a/b/c you meant you need to make the XML changes as well as run the "sudo trimforce enable" function in macOS terminal. When i check "About this Mac" -> "Storage", it shows "70GB free of 107GB" so it looks like my macOS VM should be around ~30-40GB. when I ran that above command i get much different results:

 

qemu-img info /mnt/user/domains/macOS/macOS_disk.img
image: /mnt/user/domains/macOS/macOS_disk.img
file format: raw
virtual size: 100 GiB (107374182400 bytes)
disk size: 89.3 GiB

 

3. will try that and report back. thank you so much!

 

Edited by Linguafoeda
Link to comment
15 hours ago, Linguafoeda said:

Is there a way to passthrough the integrated GPU from my 10th gen i7 CPU? I don't have a slot available to plugin a GPU but would love to get rendering working properly if there are any workarounds

Yes, possible but I never used igpu.

Apart isolating it and passing it through successfully you could need to play with whatevergreen kext and framebuffers to have a video output. Not so simple I think for you:

https://github.com/acidanthera/WhateverGreen/blob/master/Manual/FAQ.IntelHD.en.md

Refer to comet lake.

 

15 hours ago, Linguafoeda said:

How do i find the alias-name of the disk? I tried "sata0-0-3" but I don't have "alias name="

Replied in the other thread.

 

15 hours ago, Linguafoeda said:

you need to make the XML changes as well as run the "sudo trimforce enable" function in macOS terminal

Yes, after changing the xml, in both cases depending on your unraid version, you need to enable trim in mac os.

 

15 hours ago, Linguafoeda said:

"About this Mac" -> "Storage", it shows "70GB free of 107GB"

 

15 hours ago, Linguafoeda said:
virtual size: 100 GiB (107374182400 bytes)
disk size: 89.3 GiB

 

It means trim/discard is not enable and you should enable it.

Edited by ghost82
Link to comment
On 3/24/2022 at 10:42 AM, ghost82 said:

Bluetooth stack in monterey has undergone significant changes.

This means that lots of cards do not work at all or do not work as intended.

Best option is to have a monterey compatible original mac card to be installed into a pcie adapter.

Supported chipsets for monterey should be:

BCM943602

BCM94360

BCM94352

BCM94350

Not sure what hardware I have, however  my bluetooth is working perfectly under Big Sur (I installed that and it is now working  great) so I would speculate this is aa Monterey problem, unrelated to my hardware. 

Thank you for your help never the less.

Link to comment
1 minute ago, RenatoEurope said:

my bluetooth is working perfectly under Big Sur (I installed that and it is now working  great) so I would speculate this is aa Monterey problem

You can say this, as I wrote:

Quote

Bluetooth stack in monterey has undergone significant changes

So, software side (as you said monterey related); this simply means that your hardware is no more 100% compatible with monterey.

Link to comment

Hello friends I hope you are all doing well.

I am new on unraid and VMs and I'm trying to follow the spaceinvader tutorial to install Mac Os as VM on my unraid server but I'm not getting any success, I already tried 4 times and every time the same think happens. 

The first thing is when I go to disk utility to select and format the installation disk it is in another location.disk-utility.thumb.jpg.4d265b29ed71fd04bb312c7f8e5ebd13.jpg

 

After everything is installed and when I login for the first time this warning appears.

 

wrong-vdisk.thumb.jpg.664a5551738fa574d8a8b70ff8b96645.jpg

 

And after following the final steps of the tutorial modifying the macinabox_helper  the VM doesn't boot anymore and I just get this black screen.

 

black-screen!!.thumb.jpg.19d3c6a4a235512ecacbcfe0bcb81450.jpg

 

I also noticed that every 5 minutes Macinabox and the Icons plugin stop for some reason and I have to manually reset them.macinabox.thumb.jpg.b0ebe5e9e31541a4bbc2702b5fdd245c.jpg

 

If anyone could help me figure out what is causing this problem and help me install this virtual machine I would be very grateful.

I believe it is something with the Vdisk that is not being created where it should be but I don't know how to modify it. 

Thank you all in advance for your attention.

 

 

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.