# Updating OpenCore and macOS
# Updating OpenCore
So the main things to note with updating OpenCore:
- Releases (opens new window) happen the first Monday of every month
- The Differences.pdf (opens new window) will tell you all the things added and removed from this version of OpenCore compared to the previous release
- The OpenCore Install Guide will have a note in the header (opens new window) about what release version it supports
So how do I update?
So the process goes as follows:
# 1. Download the latest release of OpenCore
# 2. Mount your EFI
So first, lets mount your hard drive's EFI and make a copy somewhere safe with MountEFI (opens new window). We won't be updating the drive's EFI at first, instead we'll be grabbing a spare USB to be our crash dummy. This allows us to keep a working copy of OpenCore in case our update goes south
For the USB, it must be formatted as GUID. Reason for this is that GUID will automatically create an EFI partition, though this will be hidden by default so you'll need to mount it with MountEFI.
- Now you can place your OpenCore EFI on the USB
# 3. Replace the OpenCore files with the ones you just downloaded
The important ones to update:
EFI/BOOT/BOOTx64.efi
EFI/OC/OpenCore.efi
EFI/OC/Drivers/OpenRuntime.efi
(Don't forget this one, OpenCore will not boot with mismatched versions)
You can also update other drivers you have if present, these are just the ones that must be updated in order to boot correctly
# 4. Compare your config.plist to that of the new Sample.plist
With this, there's a couple ways to do this:
- OCConfigCompare (opens new window) to compare between the sample.plist and your config.plist
diff (file input 1) (file input 2)
in terminal- Meld Merge (opens new window), WinMerge (opens new window), or your other favorite comparison software
- Make a new config based off reading the updated OpenCore Install Guide
- Once you've made the adjustments, to make sure that you config is compliant with the newest release of OpenCore, you can use the OpenCore Utility ocvalidate: this tool will help ensure your config.plist is matching the OpenCore specification of the matching build.
- Please note, that
ocvalidate
must match the used OpenCore release and may not be able to detect all configuration flaws present in the file. We recommend to double check your setting with the OpenCore Guide on what to set everything to, otherwise read the Differences.pdf (opens new window) for more in-depth documentation on changes. - To run
ocvalidate
,cd
into OpenCore'sUtilties/ocvalidate/
and run./ocvalidate <insert_config.plist>
. Note you may need to runchmod +x ocvalidate
for it to execute. - In addition, update ProperTree and perform an OC Snapshot (Ctrl/Cmd+R) to ensure that the config entries for your SSDTs, drivers, kexts, etc. are compliant with the format OpenCore expects.
- Please note, that
# 5. Boot!
- Once everything's working with the dummy USB, you can mount the EFI and move it over to the hard drive's EFI partition. Remember to keep a copy of your old EFI in cases where OpenCore is acting funny down the road
# Updating Kexts
Updating Kexts is a similar process to updating OpenCore, make a copy of everything and update on a dummy USB in case there's issues
The easiest way to update your kexts is via 2 tools:
- Lilu and Friends (opens new window) to download and compile the kexts
- Kext Extractor (opens new window) to merge them into your EFI
# Updating macOS
So this is probably one of the most challenging parts, maintaining your system through OS updates. The main things to keep in mind:
- With OS updates, make sure everything has been updated and you have some form of recovery like TimeMachine or an older macOS installer with a known good EFI on it
- Do a bit of google-fu to see if others are having issues with the newest update
I've also provided a bit more of a detailed map of what's changed in macOS versions, see below:
macOS Catalina:
- 10.15.0
- Requires proper EC (opens new window)
- Dual socket and most AMD CPUs need AppleMCEReporterDisabler.kext (opens new window)
- MacPro5,1 support has been dropped
- 10.15.1
- Requires WhateverGreen 1.3.4+
- Broke DRM for many GPUs(see DRM Chart (opens new window))
- Requires all previous fixes
- 10.15.2
- Fixes Navi support in the installer
- Requires all previous fixes
- 10.15.3
- No change
- Requires all previous fixes
- 10.15.4
- AMD CPU users need to update
cpuid_set_cpufamily
patch (opens new window) - Fixes DRM on many Ellesmere based Polaris GPUs
- Requires all previous fixes(excluding
shikigva=80
for Polaris DRM for most users)
- AMD CPU users need to update
- 10.15.5
- UHD 630's framebuffer broke for many, if you receive black screen you may need to swap from
07009B3E
to00009B3E
- Comet Lake S no longer requires a CPU ID spoof
- UHD 630's framebuffer broke for many, if you receive black screen you may need to swap from
- 10.15.6
- No change
- Requires all previous fixes for 10.15.5
- 10.15.7
- No change
- Requires all previous fixes for 10.15.5
macOS Big Sur:
- 11.0.1
macOS Monterey:
- 12.0.1