macOS Sonoma 14 Release
As already said in the previous post, Apple decided to completely drop the support for Broadcom based chipset (e.g. BCM94350 and BCM94360, like the Fenvi T919).
OCLP can play a role here (as described by @khronokernel on OpenCore-Legacy-Patcher #1076), but this means completely defeating the purpose of having a vanilla system (no patches on the system itself).
Regarding Intel modules instead, at the time of writing there’s a preview of AirportItlwm available here but please note that it’s still in development stage.
In any case I succeeded installing macOS Sonoma 14 (23A344) on my laptop with a Fenvi BCM94360NG just for testing purposes. I’ll still remain solid on macOS Ventura unless things, such as stable kexts or even new Wi-Fi modules, change (very unlikely).
Anyway, these are the things I did to install, starting from a freshly installed version of macOS Sonoma 14.
Requirements
- OpenCore Legacy Patcher 0.6.9 (you need to be registered on GitHub to download the artifacts)
- Download
OpenCore-Patcher.app (GUI)
- Download
- Necessary kexts:
AMFIPass.kext
to avoid usingamfi=0x80
boot argument (which fucks up every app permission)IOSkywalkFamily
from dortania’s OpenCore Legacy Patchersonoma-development
branchIO80211FamilyLegacy
from dortania’s OpenCore Legacy Patchersonoma-development
branch
- Optional kexts:
Misc/Security/SecureBootModel
set toDisabled
NVRAM/Add/7C436110-AB2A-4BBB-A880-FE41995C9F82/csr-active-config
set to<03080000>
(orAwgAAA==
if you’re using a plain-text editor)- Personally I prefer keeping the SIP minimally lowered, just to make OCLP working. In case you wanna reduce system protection features, you’re on your own
csr-active-config
added underNVRAM/Delete/7C436110-AB2A-4BBB-A880-FE41995C9F82
to make sure that the right SIP value is injected when you boot OpenCore- Two bootable drives (one can be the ESP partition on your drive)
Steps
Before proceeding with the root patching, make two copies of the EFI: one goes onto the first bootable drive (e.g. ESP partition on your drive), the other one goes onto the second bootable drive. On the second bootable drive make sure to tweak the config as it follows:
- Under
Kernel/Add
add the following kexts in this order:AMFIPass.kext
IOSkywalkFamily.kext
IO80211FamilyLegacy.kext
AirportBrcmNIC.kext
that is bundled withIO80211FamilyLegacy.kext
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>AMFIPass.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/AMFIPass</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>IOSkywalkFamily.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/IOSkywalkFamily</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>IO80211FamilyLegacy.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/IO80211FamilyLegacy</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>IO80211FamilyLegacy.kext/Contents/PlugIns/AirPortBrcmNIC.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/AirPortBrcmNIC</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
In case you need AirportBrcmFixup
add also:
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>AirportBrcmFixup.kext</string>
<key>Comment</key>
<string>Various patches for Broadcom Airport Wi-Fi cards</string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/AirportBrcmFixup</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>12.0.0</string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>AirportBrcmFixup.kext/Contents/PlugIns/AirPortBrcmNIC_Injector.kext</string>
<key>Comment</key>
<string>AirportBrcmNIC Injector - AirportBrcmFixup companion</string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string></string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>12.0.0</string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
- Block
IOSkywalkFamily.kext
injection in the kernel cache usingExclude
strategy:
<dict>
<key>Arch</key>
<string>Any</string>
<key>Comment</key>
<string>Block IOSkywalkFamily kext</string>
<key>Enabled</key>
<true/>
<key>Identifier</key>
<string>com.apple.iokit.IOSkywalkFamily</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>Strategy</key>
<string>Exclude</string>
</dict>
- Add
-amfipassbeta
to your boot arguments (NVRAM/Add/7C436110-AB2A-4BBB-A880-FE41995C9F82/boot-args
) for loading the kext on Sonoma- Technical background: this is a Lilu plugin that has a
PluginConfiguration
set to run on certain macOS versions. Example here. Probably this kext hasn’t been updated yet to load on Sonoma, but using the beta boot argument, you’ll force the load on unsupported macOS versions.
- Technical background: this is a Lilu plugin that has a
Finally:
- Open
OpenCore-Patcher.app
- Select
Post-Install Menu
- Make sure that
Networking: Modern Patches
is in the available patches
- Make sure that
- Click on
Start Root Patching
and wait till the app asks to reboot - Once the reboot dialog shows up, reboot the system and boot using the second bootable drive
You should notice that the first boot is really slow (at least that happened with me). The next ones should be regular
That’s all.
Please note , despite I’m not a big fan of OCLP, some people may still want to use macOS Sonoma with their Broadcom BCM94350/BCM94360 chipsets. I respect them for their decision, but for stability purposes, I don’t endorse following them as well as this guide.
Cheers dreamwhite