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.

Kenn2183

macrumors newbie
Feb 5, 2020
17
1
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. See also Section 9 below.

Guide

This guide provides a 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.5-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, but please be aware of the following:

WARNING!
Using OpenCore without extensive knowledge of the configuration options
may lead to a bricked Mac.

Because OC is in active development, the configuration file for the current version (0.5.5) will likely be incompatible with future (or past) versions. You are encouraged to take a look at the very comprehensive manual provided with OC before proceeding.

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 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) Enable boot entry preservation: Find the RequestBootVarRouting entry, and change false to true.

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

The purpose of doing these steps explicitly is to be able to reverse them if desired.

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. 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-055-2020-02-03.

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 and eventually you should see the installation progress bar.

b) Complete the installation.

From now on, OC should boot Catalina on Disk A by default. In any case, OC will respect the selection in Startup Disk; however, be mindful of the remark in step 5d. Also, by carrying out step 5a, OC should boot the recovery mode corresponding to the system currently booted into.

7. Updates

As long as the VMM flag is present, Software Update should just work.

8. A More Native System (Optional)

To make the system as native as possible while still using OC, the VMM flag can be disabled by reversing step 4b. This might be a good idea, because a small performance loss (5%) has been observed when leaving the flag enabled.

It is also possible to boot Catalina natively, after using recovery to add a boot argument
Code:
nvram boot-args="-no_compat_check"
and then disabling OC (see 10 below). Although OC adds this argument, booting without OC does not guarantee that the argument will be there, unless it is added as described above.

The VMM flag and OC must be enabled for Software Update to work.

9. Boot-Picker (Optional)

a) Open config.plist with TextEdit.

b) Find BuiltinTextRenderer and change false to true.

c) Find ConsoleBehaviourOs and ConsoleBehaviourUi. Change <string></string> to <string>ForceGraphics</string> for both.

d) Find ConsoleMode and Resolution. Change <string></string> to <string>Max</string> for both.

e) Find ShowPicker and change false to true.

f) Find Timeout and change 1 to 10.

g) Find ConsoleControl and change false to true.

h) Find ProvideConsoleGop and change false to true.

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

The purpose of doing these steps explicitly is to be able to reverse them if desired.

10. Disabling OC

a) Carry out step 3a.

b) Open config.plist with TextEdit.

c) Reverse step 4c.

d) Reboot.

e) Select the desired entry in Startup Disk.

f) Reboot.

11. Uninstalling OC

a) Disable OC (see 10).

b) Carry out step 3a.

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

Acknowledgements

A big thank you to the talented developers of OpenCore for making all of this possible.
I have been trying to get opencore to install on my flashed 4,1 Mac Pro to Mac Pro 5,1 and unable to get opencore to install right on the system and I keep getting this error see attached picture
 

Attachments

  • 9D6ECCB6-ECD3-4BEF-BC4E-20AE419F1204.jpeg
    9D6ECCB6-ECD3-4BEF-BC4E-20AE419F1204.jpeg
    13.3 KB · Views: 395
  • 690B0E8C-8CF3-41D4-9404-3A1DCC045304.jpeg
    690B0E8C-8CF3-41D4-9404-3A1DCC045304.jpeg
    12.5 KB · Views: 404
Last edited:

Cmp4life

macrumors newbie
Feb 12, 2020
8
2
- Yes I have a super distorted screen with old Apple EFI GPU, and yes I have a super distorted screen as well.



Thanks Nich.
1) My Win10 is all good now after several reboots. I have now 2 separate ssd for each OS.

2) My RX580 Sapphire Pulse 8GB I was able to restore 2018 BIOS, 2017 BIOS worked for me as well.

Specifically I am using this ROM: Sapphire.RX580.8192.170324.rom
Specifically the monitor I am using: LG 34 21:9 UltraWide® QHD IPS Curved LED Monitor
(I did not specific OC to use retina screen settings btw)

3) But I have no Boot screen still. Something wrong with my card?

I also believe prior user used this card for mining. Would a brand new card solve my Boot screen picker?

Thanks
David

I did full reinstall
Followed steps on Page 1
Reinstalled BIOS to 2018 for pulse 8g rx 580
It all works now. I have boot screens for window and Mac. And boot picker.
Thank you
 
  • Like
Reactions: Nick_P and rroumen

cdf

macrumors 68020
Original poster
Jul 27, 2012
2,256
2,583
I have been trying to get opencore to install on my flashed 4,1 Mac Pro to Mac Pro 5,1 and unable to get opencore to install right on the system and I keep getting this error see attached picture

Could you be forgetting step 5b? You need to mount the EFI partition.
 

Kenn2183

macrumors newbie
Feb 5, 2020
17
1
Could you be forgetting step 5b? You need to mount the EFI partition.
I have mounted the efi partition and always the same problem
[automerge]1581701626[/automerge]
I have mounted the efi partition and always the same problem
Both bless codes does not work for me and sip is disabled also
 

Attachments

  • 76DD7692-15EC-4EFC-8856-094E835BFE07.jpeg
    76DD7692-15EC-4EFC-8856-094E835BFE07.jpeg
    475.2 KB · Views: 398
  • C5AE9CBB-0502-4E8B-9A06-0E12C80E7470.jpeg
    C5AE9CBB-0502-4E8B-9A06-0E12C80E7470.jpeg
    392.3 KB · Views: 379

cdf

macrumors 68020
Original poster
Jul 27, 2012
2,256
2,583
I have mounted the efi partition and always the same problem

I recovery, you need to enter this:

Code:
diskutil mount /dev/disk0s1

Keep in mind that "disk0s1" could be different in your case.
 

Kenn2183

macrumors newbie
Feb 5, 2020
17
1
Only done that code in Mac OS not in recovery mode is that my problem I will try it and see what happens
[automerge]1581702153[/automerge]
How do you spoof smbois for Mac Pro to a iMac Pro
 

paulogilmour

macrumors newbie
Feb 14, 2020
18
6
Hello everyone, how i install Windows 10 in uefi mode on cMP? I have a Flashed Mac Pro 4.1 to 5.1 with a
Radeon Vega Frontier Edition 16 GB. OC work with bootpiker ok.
If i install Windows in CSM mode, it works (boot from DVD to install and use Windows).

I was able to install in UEFI mode using Virtual Box with a RAW disk mapped to my SSD. After that BOOTCAMP appears in the OC bootpiker, from boot to OOBE, after that it restarts and does not come back, it was necessary to remove the Windows SSD so that I could return to the Mac OS.
 

roobarb!

macrumors 6502
Jul 30, 2009
277
185
My EFI is attached below.
Thanks for including! What are BootKicker.efi, CleanNvram.efi, GopStop.efi and Shell.efi used for? On mine I only have CleanNvram.efi and VerifyMsrE2.efi, neither of which I have present in the config.plist.
 

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
Thanks for including! What are BootKicker.efi, CleanNvram.efi, GopStop.efi and Shell.efi used for? On mine I only have CleanNvram.efi and VerifyMsrE2.efi, neither of which I have present in the config.plist.

They are for testing purpose, you can safely remove them if you don't want to see them on the boot picker. Remember to remove the associated entry in the config.plist as well.
 

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
Boot screen works with VEGA FE as well.

How do I change the resolution to 4K HiDPI though?
According to the manual
Screenshot 2020-02-15 at 7.06.27 AM.png


From the sample config, should be like this
Code:
    <key>NVRAM</key>
    <dict>
        <key>Add</key>
        <dict>
            <key>4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14</key>
            <dict>
                <key>UIScale</key>
                <data>Ag==</data>
            </dict>
        <key>Block</key>
        <dict>
            <key>4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14</key>
            <array>
                <string>UIScale</string>
            </array>
 

w1z

macrumors 6502a
Aug 20, 2013
692
481
@vit9696 Hi Vit.

I noticed a minor issue with OC and how it accesses the EFI partition resulting in disk utility reporting corruption with the EFI filesystem when attempting to run first aid. Correction: I can confirm that this occurs after every boot via OC REL or DBG. see below for clarification


2020-02-13_07-44-14.png



To repair, I use:

Code:
sudo fsck_msdos disk0s1


2020-02-14_07-59-58.png



This reminds of a common issue faced when unplugging FAT formatted drives without cleanly ejecting them first via the OS.

Is anyone else having this issue?

UPDATE: So this does not happen after every reboot as I initially noticed and confirmed which is strange considering that I saw the error after every reboot but I have been testing OC (compiling then copying) quite a lot lately which has skewed the test results.

Knowing this, and seeing that mounting/unmounting via terminal, unmounting via the icon or rebooting without unmounting did not affect the partition at all, I began copying plist, efi and kext file types one by one making sure to run disk utility after each copying instance and it seems that copying kext files that are referenced in config.plist to the EFI partition is the culprit.

My first chain of thought - this is most likely happening because they're loaded by OC and I'm overwriting them while they're in memory/active. To prove this - I copied Innie.kext which I no longer use or have referenced in config.plist ie. not loaded by OC and boom - no corruption occurs!
 
Last edited:
  • Like
Reactions: octoviaa

w1z

macrumors 6502a
Aug 20, 2013
692
481
I have Samsung SSD 840 EVO 1TB in my 3,1 boots via OC all the time (0.5.5 debug).
I had zero issues running a first aid on this disk (which holds the OC EFI folder)
I have 4 APFS containers and 2 HFS+ partitions and the EFI partition on this drive.

I don't have any HFS+ partitions on my drive - default layout for a single macOS installation.

How do you mount/unmount the EFI partition before/after copying files to it?
 

Dayo

macrumors 68020
Dec 21, 2018
2,257
1,279
I just booted into my cMP with Radeon VII, I have bootselector via OC, bootscreen, full HW acceleration and internal disc icons on Catalina 10.15.3

My EFI is attached below.

Big thanks for including your EFI! Provided the jump off point I was looking for and from this, I have been able to boot into my 3,1 cMP with an RX580 on Mojave 10.14.6.

I have the OC bootselector and the bootscreen afterwards although external disks in PCI slots still show as external.

OC_Boot.jpg

My setup is slightly different to Post 1 as I wanted to use this on my existing installation. So I created a small partition I called OpenCore, copied your EFI folder with some amendments to this and blessed:

Code:
sudo bless --folder /Volumes/OpenCore/EFI --file /Volumes/OpenCore/EFI/BOOT/BOOTx64.efi  --setBoot

All is well and good with this so far but does anyone know why my processor is now 'Unknown"?

1. Without OpenCore
AboutStandard.jpg


2. With OpenCore
AboutOpenCore.jpg
 
Last edited:

Ludacrisvp

macrumors 6502a
May 14, 2008
797
363
I don't have any HFS+ partitions on my drive - default layout for a single macOS installation.

How do you mount/unmount the EFI partition before/after copying files to it?
I mount via terminal, I don't manually unmount before rebooting.

Big thanks for including your EFI! Provided the jump off point I was looking for and from this, I have been able to boot into my 3,1 cMP with an RX580 on Mojave 10.14.6.

I have the OC bootselector and the bootscreen afterwards although external disks in PCI slots still show as external.

View attachment 894248

My setup is slightly different to Post 1 as I wanted to use this on my existing installation. So I created a small partition I called OpenCore, copied your EFI folder with some amendments to this and blessed:

Code:
sudo bless --folder /Volumes/OpenCore/EFI --file /Volumes/OpenCore/EFI/BOOT/BOOTx64.efi  --setBoot

All is well and good with this so far but does anyone know why my processor is now 'Unknown"?

1. Without OpenCore
View attachment 894255

2. With OpenCore
View attachment 894254
Mine also show as having 'unknown' processors when booted via OC.
I've not found that to be anything more than a cosmetic issue.
Also nice to see you got it running, I still haven't gotten around to a 3,1 thread... been too busy playing around with the xserve3,1 and my dual proc westmere build in a G5 case (essentially a 5,1 equivalent with more PCIe slots).
 
  • Like
Reactions: Dayo and w1z

w1z

macrumors 6502a
Aug 20, 2013
692
481
I mount via terminal, I don't manually unmount before rebooting.

That helped. I've updated my post with my new findings. Could you try the following only if you have kexts loaded via OC:

- Mount EFI partition via terminal ie. sudo diskutil mount diskXsX
- Choose a kext that is loaded by OC and referenced in config.plist from your OS drive to your EFI/OC/Kexts folder
- Open disk utility and run first aid on the EFI partition
- Report your result

Thanks
 

Dayo

macrumors 68020
Dec 21, 2018
2,257
1,279
Mine also show as having 'unknown' processors when booted via OC.
I've not found that to be anything more than a cosmetic issue.
Thanks. Good to know. Hopefully can be figured out and sorted out at some point.
Wonder whether it is 3,1 specific.
 

vit9696

macrumors member
Jun 4, 2014
50
147
@w1z, FAT driver implementations in the firmware often contain serious errors, which result in likely partition filesystem corruption after write operations. We saw this happen with APTIO IV and Insyde in firmwares before 2015. Most likely MacPro firmware has it too. You can either replace FAT driver with the one from EDK II or disable stuff like logging in a production environment.
 

roobarb!

macrumors 6502
Jul 30, 2009
277
185
Hello everyone, how i install Windows 10 in uefi mode on cMP?
I’m wondering that myself actually. Getting to the point of putting Windows back on a spare drive, but I can’t recall how to do it in EFI mode given I’ve actively avoided it in the past. Clues anyone?
 

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
I’m wondering that myself actually. Getting to the point of putting Windows back on a spare drive, but I can’t recall how to do it in EFI mode given I’ve actively avoided it in the past. Clues anyone?
I haven’t done it yet, but should be very simple with the boot picker.

E.g. create an USB Windows 10 installation drive.

Boot the cMP, and select that in the boot picker.

Follow the on screen instruction.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.