Update from 0.6.7 to 0.6.8
In a Nutshell
- Update
kexts
- Update
efi
files - Update
config.plist
My Steps
- Update
*.kexts
- Update
*.efi
files by taking them from Open Core Release - Update your config
- Sanity Checker for the config
Notes:
- My EFI is a git repository, cloned both to my EFI partition and my home directory. Having it duplicated to another location helps to avoid issues when you’re not finished with the update process yet, but have to shutdown your computer for some reason.
- I update the home version first, then I do
git pull
on my EFI. - Git makes the whole process very easy to maintain and recover, if you know git. If you don’t it’s quite easy to learn and there are visual tools like SourceTree, GitHub Desktop and others, so you don’t have to use CLI.
- If you are afraid of git and unwilling to learn it (which I highly recommend), then you can just boot from a clone EFI from your USB drive and if it boots correctly, you copy the files into your SSD. Or vice-versa: you can copy the update to your EFI right away, but have a cloned EFI in case of emergency. In any case I recommend you to work from a duplicate directory, keeping your EFI just for the completed update. (Anything can happen and a short power loss can make it all less easy, forcing you to do unnecessary extra steps.)
1. Update Kexts
It’s recommended to keep your kexts updated, as long as you update Open Core in order to update macOS. Remember, you don’t have to update at all: neither Open Core, nor macOS.
- You can recompile them yourself with Lilu-and-Friends Tool, which I do.
- Or download the pre-compiled ones from kexts.goldfish64.com
Compiling Kexts
Enter numbers of your kexts and the tool does the rest: compiles them all and opens a directory with zip archives for you to extract.
My numbers were: 4, 5, 8, 19, 21, 23, 34, 39
(with Lilu v0.0.94), then B
to Build Selected:
- AirportBrcmFixup - for non-native Airport Broadcom Wi-Fi cards
- AppleALC
- BrcmPatchRAM (Acidanthera) - applies PatchRAM updates for Broadcom RAMUSB based devices
- HibernationFixup
- IntelMausi (Acidanthera)
- Lilu
- SMCProcessor
- SMCSuperIO
- VirtualSMC
- WhateverGreen
AppleALC v1.6.0
AirportBrcmFixup v2.1.3
BrcmPatchRAM (Acidanthera) v2.5.9
HibernationFixup v1.4.1
IntelMausi (Acidanthera) v1.0.6
Lilu v1.5.3
VirtualSMC (All Tools) v1.2.3
WhateverGreen v1.5.0
Some kexts (IntelMausi this time) aren’t newer (according to the version number stated by the tool), but I replace them all, just in case there’s some tiny updates without change of version number.
2. Update *.efi
Files
Get Open Core Release.
Update the files:
EFI/BOOT/BOOTx64.efi
EFI/OC/OpenCore.efi
EFI/OC/Drivers/OpenRuntime.efi
(and other files from this directory, in case you use them, e.g.OpenCanopy.efi
)- if you use any tools in
EFI/OC/Tools
then update them as well.
Stays the same:
HFSPlus.efi
Note
- The difference with
HFSPlus.efi
andOpenHfsPlus.efi
is the former is directly from Apple and cannot be included in Open Core due to licensing issues (as far as I know), and the latter is the open source version. I keep the original file, since it’s stated that is works better. HFS+ is for HDD disks formatted into the respective format, APFS is for SSDs and is included in Open Core already (since version number 0.5.8, if I’m not wrong, but it’s already here for half of a year or something).
3. Update Config
- Run OC Config Compare (OCCC) on your config and the
Docs/Sample.plist
from the release archive. In case you’re getting the latest, be aware that it can be newer than the one from the release, as it takes it directly from GitHub repository (not release page) - Compare the highlighted values visually in XCode
- Double-check the guide on the differences
- Sanity Checker
My Differences
Values missing from User plist:
- ACPI -> Patch -> Array - Missing Key: Base
- ACPI -> Patch -> Array - Missing Key: BaseSkip
- Booter -> Quirks - Missing Key: ForceBooterSignature
- UEFI - Missing Key: AppleInput
Values missing from Sample:
- DeviceProperties -> Add - Missing Key: PciRoot(0x0)/Pci(0x2,0x0)
- DeviceProperties -> Add - Missing Key: PciRoot(0x0)/Pci(0x14,0x0)
- UEFI -> ProtocolOverrides - Missing Key: AppleEvent
Configs Side by Side
I compare the highlighted changes step by step in Xcode, making appropriate changes.
- You can use ProperTree, if you have no Xcode installed, since it¿s very heavy to keep (over 8 GB) just for this task. The experience should be similar for both apps. ProperTree may be even better but I don’t cover it here, since I don¿t use it.
- Also, you can use any other tool of your like, which can edit plist-files, e.g. vim or VSCode, if you¿recomfortable to deal with plist directly, hich is xml-like format.
Edit My Config
There are just two steps:
- Copy what’s new from Sample to your config. Usually those you don’t need to change the default values, but it’s better to check it with the guide to confirm it. Most of the time it’s just copying from Sample config.
- Something deprecated from Sample. You’d better be careful here, since the OCCC tool doesn’t know what’s needed here. Usually I ignore
DeviceProperties -> Add - Missing Key
, since it’s what you added back then when you created your config.
Tip:
- It’s easier when you open two TextEdit documents side-by-side, copy differences of your config to the 1st one and differences of Sample to another. Then just remove the strings with steps you did.
Sanity Checker
A great tool to check your config. Then you may share your result with a unique link. All the private information ¿ such as your Serial, etc. ¿ is excluded automaticallyAt the momeny of writing it’s not supported with the latest 0.6.7 version, so I skipped this step, as I’m quite sure I didn’t make a mistake. Although check the website, chances are it’s already there.
Also, I see there is a new tool ocvalidate
in Utilities directory, which you may run to check your config. The tool showed no issues for my config.
You may find a public duplicate of my EFI partition in my GitHub.
And that¿s it! That simple! Don¿t be afraid of the updates, it¿s an easy and quick process. The updated Open Core works well for me.