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.6-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.6) 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:
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 and BOOT.
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 UIScale 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 (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-056-2020-03-02
.
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. 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.