Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

** Hackintosh ** Tips to make a bare metal MacOS

Featured Replies

1 hour ago, bjornatic said:

Thank you for you answer but it seem over my capacities ☺️. I managed to find the path (PciRoot(0x1)/Pci(0x2,0x3)/Pci(0x0,0x0)). I added the device to "DeviceProperties" but I did not find out how to set the "built-in" property to true... (and I searched).

But, I does not seem that having the nvme recognize as external drive will impact performance, right ? So I might just leave it like that.

Try this:
Mount the EFI with terminal or clover configurator or opencore configurator, navigate to EFI/OC, open with a text editor config.plist and add this in DeviceProperties:

	<key>DeviceProperties</key>
	<dict>
		<key>Add</key>
		<dict>
			<key>PciRoot(0x1)/Pci(0x2,0x3)/Pci(0x0,0x0)</key>
			<dict>
				<key>built-in</key>
				<data>01000000</data>
			</dict>
		</dict>
...
...
...
...

 

Edited by ghost82

  • Replies 1.1k
  • Views 305.4k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Good news, no more AMD reset bug with RX 6xxx XT series GPUs in macOS 11.4 beta 1 on UnRAID.

  • Create a qcow2 image of 256 MB (from Unraid terminal): qemu-img create -f qcow2 /path/to/the/image/test.qcow2 256M This will create a qcow2 image of 256 MB.   Enable NBD on the host a

  • Attached OVMF files from edk2 stable release 202011, released today. Work good for me. edk2-202011.zip

Posted Images

It worked ! Thanks for the help.

11 minutes ago, bjornatic said:

It worked ! Thanks for the help.

your OCD is now safe :D

 

Question guys, probably a silly one but...bare with me!! :)

 

I have a fully working Hackintosh, Opencore bare metal install. 

 

I would still like to use UNRAID though.....I would assume I should just be able to passthrough the NVME disk as I would with a windows install, yes?

 

I tried using Macinabox, latest version, installed a working BigSur, tested it, all fine.  Until I tried to pass through either an RX580 or GT710. Black screen as soon as I tried.  It is something funky with my motherboard (ASUS X299 TUF MK II) I am sure, as ended up having to downgrade the BIOS to much earlier versions before I could get a bare metal Hackintosh going.  I have all of the required kexts etc, all working perfect...on Bare Metal.

 

I then tried to edit the new Big Sur VM, removed the disks and passed through the NVME which has the bare metal Big Sur install, assuming it would just boot as it did previously when I did this for Windows. Wrong, of course haha!

 

What would I need to do?

 

Hardware:

 

ASUS X299 TUF MKII Motherboard

Intel i910940x CPU

128GB RAM

1 x ASUS AMD DUAL-RX580-O8G Radeon RX 580 OC Edition 8 GB GDDR5

1 x MSI 1GB GT710

Fenvi FV-HB1200 BCM4360 BT4.0

1 x 2TB NVME (macOS Big Sur bare metal install)

1 x 2TB NVME (Spare for now)

1 x 480GB SSD (Single UNRAID Disk for now)

 

 

1 hour ago, ne10g said:

Question guys, probably a silly one but...bare with me!! :)

 

I have a fully working Hackintosh, Opencore bare metal install. 

 

I would still like to use UNRAID though.....I would assume I should just be able to passthrough the NVME disk as I would with a windows install, yes?

 

I tried using Macinabox, latest version, installed a working BigSur, tested it, all fine.  Until I tried to pass through either an RX580 or GT710. Black screen as soon as I tried.  It is something funky with my motherboard (ASUS X299 TUF MK II) I am sure, as ended up having to downgrade the BIOS to much earlier versions before I could get a bare metal Hackintosh going.  I have all of the required kexts etc, all working perfect...on Bare Metal.

 

I then tried to edit the new Big Sur VM, removed the disks and passed through the NVME which has the bare metal Big Sur install, assuming it would just boot as it did previously when I did this for Windows. Wrong, of course haha!

 

What would I need to do?

 

Hardware:

 

ASUS X299 TUF MKII Motherboard

Intel i910940x CPU

128GB RAM

1 x ASUS AMD DUAL-RX580-O8G Radeon RX 580 OC Edition 8 GB GDDR5

1 x MSI 1GB GT710

Fenvi FV-HB1200 BCM4360 BT4.0

1 x 2TB NVME (macOS Big Sur bare metal install)

1 x 2TB NVME (Spare for now)

1 x 480GB SSD (Single UNRAID Disk for now)

 

 

 

Passthrough sometimes needs newer bios to get the newest functions for virtualisation.

NVME for example need bifurcation in the bios to split up the pcie lanes correctly, that unraid can passthrough these devices.
So have a look at your bios if it supports bifurication or if newer bios versions will give you this feature.
Without it might be hard to channel your pcie devices all together.

PS: Remember that you have to edit your XML to the root of your unassigned NVME.

For example: /dev/disk/by-id/ata-myNVMW-XXXXX

The red part ist the identification of your unassigned NVME you find this under unassigned devices in Unraid main window.

 

Edited by derpuma

When I boot windows 10 from opencore bootloader, system manufacturer,base board version,bios version etc. is showing as Acidenthera and even i have to sign in again to microsoft account and also iTunes on windows is signed out. Is there anyway to fix itimage.thumb.png.d484fdc3daab5f0523cd6ab7489b5dbc.png

Edited by AussieKenDoll

3 hours ago, derpuma said:

 

Passthrough sometimes needs newer bios to get the newest functions for virtualisation.

NVME for example need bifurcation in the bios to split up the pcie lanes correctly, that unraid can passthrough these devices.
So have a look at your bios if it supports bifurication or if newer bios versions will give you this feature.
Without it might be hard to channel your pcie devices all together.

PS: Remember that you have to edit your XML to the root of your unassigned NVME.

For example: /dev/disk/by-id/ata-myNVMW-XXXXX

The red part ist the identification of your unassigned NVME you find this under unassigned devices in Unraid main window.

 

 

Thanks, I'm a touch confused still!

 

I guess I need to remove the sub for my NVME disk, as it doesn't show in the disk by ID folder, probably as UNRAID cannot see it due to me stubbing it.  I done this for windows installs previously, so UNRAID did not see the NVME. Do I need to do the opposite for MacOS?

 

To confirm, if possible, I would like to passthrough the whole NVME, including the EFI partition (is this even possible?) as that EFI partition has all of my customisations to make macOS Big Sur work on my particular hardware.

 

Or....as I am going to be virtualising it, do I forget this EFI and I have to start from scratch?

 

 

**edit** had some coffee and now my brain works. Simple really! Just used Macinabox, created a dummy Big Sur VM and used only the Opencore image to boot from, deleted the other disks as I don't need to install. Then just passed through the NVME and all is good :)

 

With VNC anyway....next step, see if the GPU will pass through!

Edited by ne10g

1 hour ago, AussieKenDoll said:

When I boot windows 10 from opencore bootloader, system manufacturer,base board version,bios version etc. is showing as Acidenthera and even i have to sign in again to microsoft account and also iTunes on windows is signed out. Is there anyway to fix itimage.thumb.png.d484fdc3daab5f0523cd6ab7489b5dbc.png

How are you booting windows with opencore?Are you speaking for unraid?describe your booting "layout".

Acidanthera as system manufacturer (or anything different from apple) is strongly recommended.

All working! GPU passed through and all nice and smooth.

 

One issue, probably related to the reset bug for AMD GPU's, I just tried to restart MacOS, as you would, and it hung UNRAID and maxed out the allocated CPU's.

 

I seem to remember someone had a way to resolve this, anyone recall?

1 hour ago, ne10g said:

All working! GPU passed through and all nice and smooth.

 

One issue, probably related to the reset bug for AMD GPU's, I just tried to restart MacOS, as you would, and it hung UNRAID and maxed out the allocated CPU's.

 

I seem to remember someone had a way to resolve this, anyone recall?

Do you use a 5700xt?

Which Bootloader do you use?

Are you using a custom unraid build?

 

I have a working macOS vm with a 5700xt passed through, but atm I am using the clover bootloader. I will setup a macOS vm with opencore soon for testing.

Just now, giganode said:

Do you use a 5700xt?

Which Bootloader do you use?

Are you using a custom unraid build?

 

I have a working macOS vm with a 5700xt passed through, but atm I am using the clover bootloader. I will setup a macOS vm with opencore soon for testing.

I returned the 5700XT, now using ASUS AMD DUAL-RX580-O8G Radeon RX 580 OC Edition 8 GB GDDR5

 

Opencore bootloader (from macinabox) and when using bare metal, also using OpenCore.

 

Not a custom UNRAID, just the latest beta.

 

I spoke too soon as well, after the AMD reset bug I just cannot get the machine working anymore! This was what kept putting me off using UNRAID as my main daily driver, too many times things have just broken with no real reason as to why.

 

I now cannot get any display when passing through the GPU, switched to VNC and it now doesn't work with that either!! 

7 minutes ago, ne10g said:

I returned the 5700XT, now using ASUS AMD DUAL-RX580-O8G Radeon RX 580 OC Edition 8 GB GDDR5

 

Opencore bootloader (from macinabox) and when using bare metal, also using OpenCore.

 

Not a custom UNRAID, just the latest beta.

 

I spoke too soon as well, after the AMD reset bug I just cannot get the machine working anymore! This was what kept putting me off using UNRAID as my main daily driver, too many times things have just broken with no real reason as to why.

 

I now cannot get any display when passing through the GPU, switched to VNC and it now doesn't work with that either!! 

As I only have an 5700xt I sadly cannot try to help you...

3 minutes ago, giganode said:

As I only have an 5700xt I sadly cannot try to help you...

 

The good thing is, it is quick to get back to "square one"

 

1. Delete the VM

2. Restart Macinabox

3. Run the scripts to generate the VM

4. Edit the VM template

5. Change RAM, CPU, Passthrough NVME and other PCI devices, delete all discs except Opencore (use this to boot)

6. Save changes and run script to fix the XML.

7. Start VM and it is all good.

 

I will pass through the GPU again and see how it behaves.

Broke again!

 

Passthrough GPU. Works. Shutdown (or restart) VM - can never get display back from GPU.

 

Remove GPU (editing VM template) and switch back to VNC, Guest has not initialised the display error.

 

Nothing obvious in the logs.

I'm here for some help again...

 

I passed through my Nvme and I finally put it on the right soket (the one wich support GEN 4 over chipset).

The command : lspci -vvvn -s 04:00.0 | grep LnkSta

results in : LnkSta:    Speed 16GT/s (ok), Width x4 (ok)

 

But, in System Report, I get a blank for the "link speed" information.

 

After the install of BigSur, as my drive was on the first socket (GEN 3), "link speed" was 8GT/s (as it should have been).

 

Now how do I get my drive at 16GT/s under Big Sur ?

 

 

Did a quick fresh install with opencore and big sur.

 

I can confirm that a 5700xt runs with opencore aswell.

1 minute ago, giganode said:

Did a quick fresh install with opencore and big sur.

 

I can confirm that a 5700xt runs with opencore aswell.

When you say fresh install, what method did you use?

 

If I create the base with Macinabox and then keep only the Opencore img file to boot, delete other disks and then passthrough the NVME, it will both and work perfect first time with VNC. Then I can change and pass through the 580XT, works fine first time, perfect, very close to bare metal performance.  Then as soon as I either restart, or shut down, it's game over. Can't get back into MacOS with the GPU, or even reverting back to VNC!

 

Reproducible each time, every time. Nothing in the logs that looks odd, really strange!

16 minutes ago, ne10g said:

When you say fresh install, what method did you use?

 

If I create the base with Macinabox and then keep only the Opencore img file to boot, delete other disks and then passthrough the NVME, it will both and work perfect first time with VNC. Then I can change and pass through the 580XT, works fine first time, perfect, very close to bare metal performance.  Then as soon as I either restart, or shut down, it's game over. Can't get back into MacOS with the GPU, or even reverting back to VNC!

 

Reproducible each time, every time. Nothing in the logs that looks odd, really strange!

I went for the macinabox solution as I have no experience with opencore. Have always used clover.

After the installation I just added AAPL,ig-platform-id .... and agdpmod=pikera.

Edited xml for passthrough and booted into macOS.

On 12/13/2020 at 6:34 PM, ne10g said:

Broke again!

 

Passthrough GPU. Works. Shutdown (or restart) VM - can never get display back from GPU.

 

Remove GPU (editing VM template) and switch back to VNC, Guest has not initialised the display error.

 

Nothing obvious in the logs.


Do you use a proper Rom File for your GPU?
If you do not save your bios rom from your own GPU card, you can use a techpowerup bios rom.

https://www.techpowerup.com/vgabios/194592/asus-rx580-8192-170417

But you have to edit this with a hexeditor and make minor changes!

 

Edited by derpuma

Has anyone completed an upgrade to OpenCore 0.64?

 

I'm getting errors loading OpenCore after updating from 0.63. I guess because of the BootProtect changes. I've followed the instructions and set it to None as well as ensuring RequestBootVarRouting is enabled. "sudo nvram -c" fails with a not permitted error so I was relying on clearing NVRAM via the boot menu but never get to it. Have I missed something?

 

Also, has anyone upgraded to 11.1? Any issues?

I'm on opencore 0.6.4 and Big Sur 11.1. I'm not at home right now I can uploaded when I get home tommorow. But I had no issues when updating either way...

3 hours ago, david279 said:

I'm on opencore 0.6.4 and Big Sur 11.1. I'm not at home right now I can uploaded when I get home tommorow. But I had no issues when updating either way...

 

Fixed! Simple error. Missed a file (EFI/OC/Bootstrap/Bootstrap.efi) with the opencore upgrade.

 

Doing the 11.1 upgrade now.

 

Thanks again for the offer to help.

Edited by paulmorabi

As I have a lot of sparesbundle backups of older mac OS, OSX system disks, and also some SSDs with Sierra, Mojave, High Sierra, I thought it would be nice to get them bootabele as a VM in UNRAID.
As I know, each individual Apple OS needs its own opencore or clover (kexts, config.plist, etc.) to boot properly. 
So my thought was, to build some universal opencore versions, which suit the boot of older macOS images or disks.

 

So far I have tested it with an older Mojave SSD and the Mojave-opencore.img from the Spaceinvaderone Macinabox install.
First try was, that I was able to boot into opencore, seeing Mojave on my SSD, but booting from it ends in a bootloop going back to opencore selection.

Then I tried to make a vdisk from my SSD:
 

qemu-img convert -p -O raw /dev/sdX /mnt/disks/xxx.img

 

This worked but trying to boot from the image ended in the same bootloop.


So there might be an error in my macOS Files or in the opencore Folder, to make a boot possible.
Unfortunately I am not able to mount the created vdsik via unraid, cause it has apfs file-system.


I thought the SSD or image should be bootable, as there is a Mojave which should boot out of the box with the Mojave specific opencore I used.
Any hints what I could do to solve the issue?
Help would be great! As always... ;-)

 

  • 2 weeks later...

[Qemu 5.2] -- Pay attention to addresses in your config.plist for devices

 

When Qemu 5.2 will be available for unraid (I'm still on 6.8.3, qemu 5.2 should be inside 6.9rc2 (?), or for sure in 6.9 stable) pay attention to addresses of your devices in your config.plist

I just tried Qemu 5.2 on another machine and I noticed that layout-id for built in audio was not correctly applied, resulting in no audio detected once inside mac os, but boot chime working well at boot (bootloader level).

I then noticed that also the built-in=true property of my en0 ethernet was not applied inside mac os.

 

Qemu 5.2 has probably changed the way of managing addresses, it's a bug fix, so it's ok, I noticed a wrong address assignment when I was playing with boot chime in the past with qemu 5.1 and lower versions: with Qemu 5.1 and lower versions mac os address for audio was PciRoot(0x1)/Pci(0x2,0x0) but the bootloader detected audio at PciRoot(0x0)/Pci(0x2,0x0)

 

With Qemu 5.2 now the right address of the PciRoot is (0x0).

 

As an example, this was my old (qemu 5.1 and lower) config.plist for the device injection:

	<key>DeviceProperties</key>
	<dict>
		<key>Add</key>
		<dict>
			<key>PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x1,0x0)</key>
			<dict>
				<key>built-in</key>
				<data>AQ==</data>
			</dict>
			<key>PciRoot(0x1)/Pci(0x2,0x0)</key>
			<dict>
				<key>layout-id</key>
				<data>BwAAAA==</data>
			</dict>
			<key>PciRoot(0x1)/Pci(0x1F,0x0)</key>
			<dict>
				<key>compatible</key>
				<string>pci8086,2916</string>
				<key>device-id</key>
				<data>FikA</data>
				<key>name</key>
				<string>pci8086,2916</string>
			</dict>
		</dict>
      ....
      ....
      ....

First block is for en0 built-in

Second block is for audio layout

Third block is for LPC

 

As you see, for all devices, the PciRoot was PciRoot(0x1)

In the same config.plist for boot chime I had:

		<key>Audio</key>
		<dict>
			<key>AudioCodec</key>
			<integer>0</integer>
			<key>AudioDevice</key>
			<string>PciRoot(0x0)/Pci(0x2,0x0)</string>
          ....
          ....
          ....

with PciRoot(0x0): again this was needed instead of 0x1, because the bootloader didn't see the audio device at PciRoot(0x1)

-------------------------

 

Now, with Qemu 5.2 the same snippet of code is replaced with:

	<key>DeviceProperties</key>
	<dict>
		<key>Add</key>
		<dict>
			<key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x1,0x0)</key>
			<dict>
				<key>built-in</key>
				<data>AQ==</data>
			</dict>
			<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
			<dict>
				<key>layout-id</key>
				<data>BwAAAA==</data>
			</dict>
			<key>PciRoot(0x0)/Pci(0x1F,0x0)</key>
			<dict>
				<key>compatible</key>
				<string>pci8086,2916</string>
				<key>device-id</key>
				<data>FikA</data>
				<key>name</key>
				<string>pci8086,2916</string>
			</dict>
		</dict>
      ....
      ....
      ....

With PciRoot(0x0) as the root address.

So, pay attention to addresses, as this may apply to all your addresses you have in the config.plist

Edited by ghost82

[Possible fix for Big Sur and samba (smb) transfer hangs -- kernel panic and/or error -8084]

 

If you are experiencing issue with Big Sur and samba (smb) transfers here is a possible fix that is working for me.

Change the size of the buffer the kernel allocates to hold the data with SO_RCVBUF and SO_SNDBUF to a size of 65536 bytes,

 

Add this line to the [global] configuration of your samba server:

socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536

This fixed file transfers hang for me, still have some issues to run a virtual machine with vmware through smb, the whole mac os crashes (it didn't happen with Catalina): nfs is still good for this.

 

UPDATE: bjornatic seems to have found that the solution is switching to virtio-net network model (I confirm it's working).

 

Edited by ghost82

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

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.