Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.

DigitaLife

macrumors regular
Jan 24, 2019
170
13
Italy
OpenCore on Legacy Apple Hardware

This guide explains how to use the excellent OpenCore (OC) bootloader on a Mac Pro 5,1 (with upgraded Westmere Xeons and Boot ROM version 144.0.0.0.0) to install, run, and update macOS Catalina, resulting in a clean, unpatched operating system no different than what you would find on a supported Mac.

The main advantage of using OC vs other tools on a Mac Pro 5,1 is that it makes Software Update work.

Another advantage is boot screen.

In a historic development, OC developer @vit9696 has brought basic boot-picker support to the Mac Pro 5,1 with standard UEFI GOP graphics cards (special thanks to @startergo for the relentless testing)! You can read about it here.

Guide

This guide provides a simplified hands-on approach to installing and configuring OC.

1. Setup

Disk A. Newly APFS-formatted drive (GUID scheme)

This is where OC and a clean install of Catalina will go.

Disk B. macOS Mojave

Installation and configuration will be done from here. (To ensure a bootable fallback after an NVRAM reset, it is recommended that Disk B be a SATA disk in Bay 1 and that it always be present alongside Disk A.)

2. Materials

A. The application "Install macOS Catalina" (the full installer)

B. OpenCore

See the releases page of the project site. Download OpenCore-0.5.7-RELEASE.zip. The uncompressed folder will be referred to here as "OpenCore."

C. Basic configuration file

Provided in this post. Download config.zip. The uncompressed file is "config.plist".

The configuration described in this guide should be perfectly safe. However, because OC is a very powerful tool, it is important that you fully understand all configuration options before deviating from the guide. You are encouraged to take a look at the very comprehensive manual available in the OpenCore folder.

Because OC is in active development, the configuration file for the current version (0.5.7) will likely be incompatible with future (or past) versions.

3. Installing OC

a) Mount the EFI partition of Disk A: To find the identifier of the partition, enter the following in terminal:
Code:
diskutil list

The identifier will be something like "disk0s1;" the next step will assume that this is the case.
Code:
sudo diskutil mount /dev/disk0s1

You may need to authorize this. The partition should mount as /Volumes/EFI and appear as "EFI" in Finder.

b) Copy the OpenCore/EFI folder to the EFI partition. The resulting folder, /Volumes/EFI/EFI, should contain the folders OC, BOOT, and Resources.

c) Copy config.plist to /Volumes/EFI/EFI/OC.

4. Configuration

The file config.plist can be edited with any plist editor and even with TextEdit; the following steps will assume TextEdit.

a) Open config.plist with TextEdit.

b) Enable the VMM flag: Find the Cpuid1Mask entry, and carefully change AAAAAAAAAAAAAAAAAAAAAA== to AAAAAAAAAAAAAACAAAAAAA==. The value should now be the same as for Cpuid1Data.

Remark: VMM flag spoofing is only possible with Westmere Xeons. Nehalem and older Xeons don't have the hardware requirements to support Apple Hypervisor and can't enable VMM flag spoofing.

c) If your display is HiDPI (retina), find the UIScale entry and change AQ== to Ag==.

d) Close the file. It should be saved automatically (select OK if informed about there being no permanent version storage).

5. Booting

a) Reboot into recovery mode by entering
Code:
sudo nvram "recovery-boot-mode=unused" && sudo reboot recovery

You may need to authorize this. Be patient. Mac Pro boot times can be long, especially when booting into recovery mode.

b) Carry out step 3a again (sudo is not needed in recovery).

c) Set the partition for booting:
Code:
bless --mount /Volumes/EFI --setBoot

If the above fails, try:
Code:
bless --mount /Volumes/EFI --setBoot --file /Volumes/EFI/EFI/BOOT/BOOTx64.efi --verbose

d) Shut down the Mac and do an SMC reset (unplug the power cord, wait 15 seconds, plug the power cord back in, wait 5 seconds, and then press the power button).

Remark: Being installed on Disk A, OC can have trouble seeing Disk B. Doing an SMC reset helps ensure that Disk B is seen when OC starts.

e) Power up the machine. If you see the simple boot picker, let it timeout to the default selection. OC should boot Disk B (currently the only macOS system).

Be patient. Mac Pro boot times can be long. If it seems that the machine is not booting up. Hold the power button to shut down the machine. Do an NVRAM reset on the next power up (immediately press and hold Option, Command, P, and R, and release after 20 seconds or after you hear the second startup chime). The Mac should boot without OC. Recheck all the steps above.

f) Booted into the system on Disk B, verify that it is indeed OC that has booted the system by entering this in terminal:
Code:
nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:opencore-version

You should see REL-057-2020-04-06.

You can also verify that the VMM flag is present by entering
Code:
sysctl machdep.cpu.features

You should see VMM in the list of features.

Congratulations for making it this far! The hard part is done.

6. Installing Catalina

a) Booted into the system on Disk B, run Install macOS Catalina. Install to Disk A.

The machine will reboot. If you see the simple boot picker, let it timeout to the default selection. Eventually you should see the installation progress bar.

b) Complete the installation.

From now on, OC should boot Catalina on Disk A by default. You can also select the desired system from the boot picker. Moreover, OC will respect the selection in Startup Disk.

7. Updates

Software Update should just work when the VMM flag is set.

8. A More Native System

Because the VMM flag causes a performance loss (about 5%) and disables power management, it is a good idea to only enable the flag when installing or checking for updates. To disable the flag, reverse step 4b and reboot.

9. Other Adjustments

For maximum compatibility, the configuration enables a special GOP renderer to display the boot picker. But this option (which is needed for the Radeon VII but not for the RX 580) can have undesirable effects like slow scrolling.

To disable the option, find the DirectGopRendering entry and change true to false.

10. Updating OC

OC is currently being updated on the first Monday of every month. The latest version supported by this guide is 0.5.7. To update your installation simply repeat the steps in section 3.

11. Uninstalling OC

a) Carry out step 3a.

b) Delete the /Volumes/EFI/EFI folder.

c) Reboot and do an NVRAM reset. Mojave should start.

Acknowledgements

A big thank you to the talented developers of OpenCore for making all of this possible.
To install Catalina in an NVMe SSD can I perform the same steps described in the guide of post # 1 or are there different steps? Thanks
 

mangombia

macrumors member
Jun 12, 2019
84
16
Nashville, Tennessee
I've succeeded installing OC on my 12-core workstation. On that machine I put OC in the EFI of a small SSD in SATA1. Mojave & Catalina reside on a pair of NVMEs mounted to a bifurcation controller. This is totally stable and I succeeded in applying the 10.15.4 Supplemental Update natively. My Apple/Plex media server 5,1 is another story.

On that hex-core machine, which runs headless, all 4 SATA ports are populated with 8tb drives in a SoftRAID RAID5. Like my workstation, Mojave & Catalina are on separate 500gb NVME sticks in a bifurcation controller. In installed OC on the Mojave EFI, flagged the VMM and updated Catalina, but when I rebooted, MacOS loading stalled after selection (grey screen with the Apple logo, but no progress bar). Same result whether I selected Mojave or Catalina. I ended up pulling both NVMEs, putting the Mojave NVME in a USB stick and removing OC, resetting NVRAM, rebooting to Mojave, putting Catalina back in, setting the NVRAM no_compat_check boot-arg, and selecting Catalina as the startup.

Any advice on the stalled reboot issue, as I'd like to be able to do native updates to Catalina, and have my NVMEs seen as internal (so I can have truly external drives show on the Finder desktop). Is there any merit to putting OC in the EFI of the first RAID SATA drive? Would doing so Bork my RAID? I would very much like to be able to update this machine natively and have the NVMEs show as internal (so having Finder show external drives on the desktop doesn't result in clutter).
 

startergo

macrumors 603
Sep 20, 2018
5,022
2,283
I've succeeded installing OC on my 12-core workstation. On that machine I put OC in the EFI of a small SSD in SATA1. Mojave & Catalina reside on a pair of NVMEs mounted to a bifurcation controller. This is totally stable and I succeeded in applying the 10.15.4 Supplemental Update natively. My Apple/Plex media server 5,1 is another story.

On that hex-core machine, which runs headless, all 4 SATA ports are populated with 8tb drives in a SoftRAID RAID5. Like my workstation, Mojave & Catalina are on separate 500gb NVME sticks in a bifurcation controller. In installed OC on the Mojave EFI, flagged the VMM and updated Catalina, but when I rebooted, MacOS loading stalled after selection (grey screen with the Apple logo, but no progress bar). Same result whether I selected Mojave or Catalina. I ended up pulling both NVMEs, putting the Mojave NVME in a USB stick and removing OC, resetting NVRAM, rebooting to Mojave, putting Catalina back in, setting the NVRAM no_compat_check boot-arg, and selecting Catalina as the startup.

Any advice on the stalled reboot issue, as I'd like to be able to do native updates to Catalina, and have my NVMEs seen as internal (so I can have truly external drives show on the Finder desktop). Is there any merit to putting OC in the EFI of the first RAID SATA drive? Would doing so Bork my RAID? I would very much like to be able to update this machine natively and have the NVMEs show as internal (so having Finder show external drives on the desktop doesn't result in clutter).
Single or multiple monitors system? Try single monitor. Also I don't know about your case but I can't see the Softraid 5 with APFS drives as a boot option from OC.
 

mangombia

macrumors member
Jun 12, 2019
84
16
Nashville, Tennessee
Single or multiple monitors system? Try single monitor. Also I don't know about your case but I can't see the Softraid 5 with APFS drives as a boot option from OC.

Well the media server is headless (no monitor), just an HDMI dummy plug to activate graphical acceleration, so it appears as a single monitor. The SATA drives comprising the RAID array are controlled by SoftRAID, with a GUID partition map (they each have an EFI partition). Here's the report for the first one from Terminal:

/dev/disk4 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *8.0 TB disk4
1: EFI EFI 209.7 MB disk4s1
2: B6FA30DA-92D2-4A9A-96F1-871EC6486200 2.3 MB disk4s2
3: 2E313465-19B9-463F-8126-8A7993773801 7.3 MB disk4s3
4: FA709C7E-65B1-4593-BFD5-E71D61DE9B02 8.0 TB disk4s4
5: Apple_Boot Boot OSX 134.2 MB disk4s5

Examining that EFI partition shows that it is empty. I had this same issue (stalled OS load after selection) w/OC on my workstation when I put it on the Mojave NVME, putting it on the small SATA SSD seemed to solve it.
 

startergo

macrumors 603
Sep 20, 2018
5,022
2,283
Well the media server is headless (no monitor), just an HDMI dummy plug to activate graphical acceleration, so it appears as a single monitor. The SATA drives comprising the RAID array are controlled by SoftRAID, with a GUID partition map (they each have an EFI partition). Here's the report for the first one from Terminal:

/dev/disk4 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *8.0 TB disk4
1: EFI EFI 209.7 MB disk4s1
2: B6FA30DA-92D2-4A9A-96F1-871EC6486200 2.3 MB disk4s2
3: 2E313465-19B9-463F-8126-8A7993773801 7.3 MB disk4s3
4: FA709C7E-65B1-4593-BFD5-E71D61DE9B02 8.0 TB disk4s4
5: Apple_Boot Boot OSX 134.2 MB disk4s5

Examining that EFI partition shows that it is empty. I had this same issue (stalled OS load after selection) w/OC on my workstation when I put it on the Mojave NVME, putting it on the small SATA SSD seemed to solve it.
Can you provide the output from diskutil list?
 

eksu

macrumors 6502
Aug 3, 2017
329
151
That's a pity. What are you using for the USB-C conversion?
I am using the Huawei VR2 cable. Maybe the monitor isn’t fully initialized or something due to whatever is happening over USB?

I’ll be moving over to Titan Ridge eventually.
 

agejon

macrumors member
Oct 17, 2008
46
40
Athens, Greece
Please make sure your card still with the factory ROM. Lot of similar cases simply because the users bought the flashed card (e.g for mining). Those modification to the ROM will break the GOP (which is required to show boot screen).

If not sure, you can always go to TechPowerUp, search the ROM that fit your card, and flash it back to factory settings.

This has fixed many similar cases already.

This is a used card... never thought of that... thanks!
 
  • Like
Reactions: zoltm and h9826790

tsialex

Contributor
Jun 13, 2016
13,455
13,601
I've succeeded installing OC on my 12-core workstation. On that machine I put OC in the EFI of a small SSD in SATA1. Mojave & Catalina reside on a pair of NVMEs mounted to a bifurcation controller. This is totally stable and I succeeded in applying the 10.15.4 Supplemental Update natively. My Apple/Plex media server 5,1 is another story.

On that hex-core machine, which runs headless, all 4 SATA ports are populated with 8tb drives in a SoftRAID RAID5. Like my workstation, Mojave & Catalina are on separate 500gb NVME sticks in a bifurcation controller. In installed OC on the Mojave EFI, flagged the VMM and updated Catalina, but when I rebooted, MacOS loading stalled after selection (grey screen with the Apple logo, but no progress bar). Same result whether I selected Mojave or Catalina. I ended up pulling both NVMEs, putting the Mojave NVME in a USB stick and removing OC, resetting NVRAM, rebooting to Mojave, putting Catalina back in, setting the NVRAM no_compat_check boot-arg, and selecting Catalina as the startup.

Any advice on the stalled reboot issue, as I'd like to be able to do native updates to Catalina, and have my NVMEs seen as internal (so I can have truly external drives show on the Finder desktop). Is there any merit to putting OC in the EFI of the first RAID SATA drive? Would doing so Bork my RAID? I would very much like to be able to update this machine natively and have the NVMEs show as internal (so having Finder show external drives on the desktop doesn't result in clutter).
Please don't use the term bifurcation for switched cards, the way bifurcation works is totally different from the PCIe sharing that switched cards do and is wrongly used by the marketing of Chinese cards.

Bifurcation only applies to cards that split the lanes of the PCIe slot via the chipset and firmware support, Intel calls it PCI Express Lane Partitioning support while AMD has a different name for the same technology.

No Mac Pro supports bifurcation, not even the 2019 Mac Pro.
 

205Maxi

macrumors regular
Nov 3, 2019
175
53
Anyone knows how to remove the Date and Time in the right upper corner on the bootPicker? Thank you.

I though never been able to get canopy.efi with resources working. Any thoughts?
 
  • Like
Reactions: zoltm

205Maxi

macrumors regular
Nov 3, 2019
175
53
Anyone knows how to remove the Date and Time in the right upper corner on the bootPicker? Thank you.

I though never been able to get canopy.efi with resources working. Any thoughts?
Well I am replying to myself lol, it looks to me me that we can comment out or delete lines 1476 - 2755 - 2759 of the NdkBootPicker.c file before compiling.
 
  • Like
Reactions: cdf

DigitaLife

macrumors regular
Jan 24, 2019
170
13
Italy
OpenCore on Legacy Apple Hardware

This guide explains how to use the excellent OpenCore (OC) bootloader on a Mac Pro 5,1 (with upgraded Westmere Xeons and Boot ROM version 144.0.0.0.0) to install, run, and update macOS Catalina, resulting in a clean, unpatched operating system no different than what you would find on a supported Mac.

The main advantage of using OC vs other tools on a Mac Pro 5,1 is that it makes Software Update work.

Another advantage is boot screen.

In a historic development, OC developer @vit9696 has brought basic boot-picker support to the Mac Pro 5,1 with standard UEFI GOP graphics cards (special thanks to @startergo for the relentless testing)! You can read about it here.

Guide

This guide provides a simplified hands-on approach to installing and configuring OC.

1. Setup

Disk A. Newly APFS-formatted drive (GUID scheme)

This is where OC and a clean install of Catalina will go.

Disk B. macOS Mojave

Installation and configuration will be done from here. (To ensure a bootable fallback after an NVRAM reset, it is recommended that Disk B be a SATA disk in Bay 1 and that it always be present alongside Disk A.)

2. Materials

A. The application "Install macOS Catalina" (the full installer)

B. OpenCore

See the releases page of the project site. Download OpenCore-0.5.7-RELEASE.zip. The uncompressed folder will be referred to here as "OpenCore."

C. Basic configuration file

Provided in this post. Download config.zip. The uncompressed file is "config.plist".

The configuration described in this guide should be perfectly safe. However, because OC is a very powerful tool, it is important that you fully understand all configuration options before deviating from the guide. You are encouraged to take a look at the very comprehensive manual available in the OpenCore folder.

Because OC is in active development, the configuration file for the current version (0.5.7) will likely be incompatible with future (or past) versions.

3. Installing OC

a) Mount the EFI partition of Disk A: To find the identifier of the partition, enter the following in terminal:
Code:
diskutil list

The identifier will be something like "disk0s1;" the next step will assume that this is the case.
Code:
sudo diskutil mount /dev/disk0s1

You may need to authorize this. The partition should mount as /Volumes/EFI and appear as "EFI" in Finder.

b) Copy the OpenCore/EFI folder to the EFI partition. The resulting folder, /Volumes/EFI/EFI, should contain the folders OC, BOOT, and Resources.

c) Copy config.plist to /Volumes/EFI/EFI/OC.

4. Configuration

The file config.plist can be edited with any plist editor and even with TextEdit; the following steps will assume TextEdit.

a) Open config.plist with TextEdit.

b) Enable the VMM flag: Find the Cpuid1Mask entry, and carefully change AAAAAAAAAAAAAAAAAAAAAA== to AAAAAAAAAAAAAACAAAAAAA==. The value should now be the same as for Cpuid1Data.

Remark: VMM flag spoofing is only possible with Westmere Xeons. Nehalem and older Xeons don't have the hardware requirements to support Apple Hypervisor and can't enable VMM flag spoofing.

c) If your display is HiDPI (retina), find the UIScale entry and change AQ== to Ag==.

d) Close the file. It should be saved automatically (select OK if informed about there being no permanent version storage).

5. Booting

a) Reboot into recovery mode by entering
Code:
sudo nvram "recovery-boot-mode=unused" && sudo reboot recovery

You may need to authorize this. Be patient. Mac Pro boot times can be long, especially when booting into recovery mode.

b) Carry out step 3a again (sudo is not needed in recovery).

c) Set the partition for booting:
Code:
bless --mount /Volumes/EFI --setBoot

If the above fails, try:
Code:
bless --mount /Volumes/EFI --setBoot --file /Volumes/EFI/EFI/BOOT/BOOTx64.efi --verbose

d) Shut down the Mac and do an SMC reset (unplug the power cord, wait 15 seconds, plug the power cord back in, wait 5 seconds, and then press the power button).

Remark: Being installed on Disk A, OC can have trouble seeing Disk B. Doing an SMC reset helps ensure that Disk B is seen when OC starts.

e) Power up the machine. If you see the simple boot picker, let it timeout to the default selection. OC should boot Disk B (currently the only macOS system).

Be patient. Mac Pro boot times can be long. If it seems that the machine is not booting up. Hold the power button to shut down the machine. Do an NVRAM reset on the next power up (immediately press and hold Option, Command, P, and R, and release after 20 seconds or after you hear the second startup chime). The Mac should boot without OC. Recheck all the steps above.

f) Booted into the system on Disk B, verify that it is indeed OC that has booted the system by entering this in terminal:
Code:
nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:opencore-version

You should see REL-057-2020-04-06.

You can also verify that the VMM flag is present by entering
Code:
sysctl machdep.cpu.features

You should see VMM in the list of features.

Congratulations for making it this far! The hard part is done.

6. Installing Catalina

a) Booted into the system on Disk B, run Install macOS Catalina. Install to Disk A.

The machine will reboot. If you see the simple boot picker, let it timeout to the default selection. Eventually you should see the installation progress bar.

b) Complete the installation.

From now on, OC should boot Catalina on Disk A by default. You can also select the desired system from the boot picker. Moreover, OC will respect the selection in Startup Disk.

7. Updates

Software Update should just work when the VMM flag is set.

8. A More Native System

Because the VMM flag causes a performance loss (about 5%) and disables power management, it is a good idea to only enable the flag when installing or checking for updates. To disable the flag, reverse step 4b and reboot.

9. Other Adjustments

For maximum compatibility, the configuration enables a special GOP renderer to display the boot picker. But this option (which is needed for the Radeon VII but not for the RX 580) can have undesirable effects like slow scrolling.

To disable the option, find the DirectGopRendering entry and change true to false.

10. Updating OC

OC is currently being updated on the first Monday of every month. The latest version supported by this guide is 0.5.7. To update your installation simply repeat the steps in section 3.

11. Uninstalling OC

a) Carry out step 3a.

b) Delete the /Volumes/EFI/EFI folder.

c) Reboot and do an NVRAM reset. Mojave should start.

Acknowledgements

A big thank you to the talented developers of OpenCore for making all of this possible.
I installed Catalina with OC 0.5.6 and would like to update to OC 0.5.7 and NdkBootPicker 0.1.8.
Do I have to repeat a new clean installation of OC and Catalina or is there an easier way?
Thanks in advance for the suggestion.
 

startergo

macrumors 603
Sep 20, 2018
5,022
2,283
  • Like
Reactions: zoltm

cdf

macrumors 68020
Original poster
Jul 27, 2012
2,256
2,583
I installed Catalina with OC 0.5.6 and would like to update to OC 0.5.7 and NdkBootPicker 0.1.8.
Do I have to repeat a new clean installation of OC and Catalina or is there an easier way?
Thanks in advance for the suggestion.

It's really simple. See Section 10 in the guide.
 
  • Like
Reactions: h9826790

DigitaLife

macrumors regular
Jan 24, 2019
170
13
Italy
Here is the video to shows how it actually looks in the NdkBootPicker

It's extremely simple, remove the wallpaper in the latest NdkBootPicker 0.1.8, which should makes NdkBootPicker only use the default lightgrey background. (For info, I also set ConsoleAttributes to 112 and PickerAttributes to 1, even that shouldn't do anything in this case.

And use my icon in post #1801 to replace all required icns (e.g. os_mac.icns or os_win.icns)
I replaced all the files called "os_xxx.icns" with the Apple HDD image, correct? As for the backround instead, do I have to delete all 3 "background ... png" files? Do I have to do anything else?

Schermata 2020-04-11 alle 23.06.28.png
 

applCore

macrumors regular
May 3, 2011
193
78
How would the guide be altered if we're already using @dosdude1's patcher? Essentially the system is already running Catalina 10.15.4, but I'd like a cleaner option as is provided here and some "future proofing"...
 

heero503

macrumors member
Nov 12, 2014
75
18
Hong Kong
After update to 0.5.7, I found there is a recovery files folder in my recycle bin every boot.
Is there any problem from my OC?
How can I enable Debug mode of OC?

Besides, I have received this message started from last night.
This is the Disk in SATA Bay1.
When I do first aid, the SSD damaged, I cant erase this disk internally and finally I can erase it from external USB... Is it OS issue or My SSD have problem...

Screenshot 2020-04-12 at 9.33.13 AM.png
Screenshot 2020-04-12 at 8.42.39 AM.png
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.