This section contains runtime variables affecting Apple services or Clover itself. ROM
and MLB
for example are required to allow registration in iMessage service. Starting from Clover r1129, the parameters are taken from SMBIOS and are not needed to be entered manually unless something is missing.
TABLE of CONTENTS
Last digits of SmUUID
or MAC Address
. Clover can detect and apply the MAC Address of your Ethernet Adapter automatically if UseMacAddr0
is selected. This does not work for everyone, so test it.
MLB = BoardSerialNumber
Bitmask containing various boot flags. There's no further info in the manual about any of them. But if you ever wanted to know where the value 0x28
for BooterConfig
comes from, check the next table.
Bit | Flag Name | HEX Value | Default flags (r5142+) |
---|---|---|---|
0 | Reboot On Panic | 0x1 | |
1 | Hi DPI | 0x2 | |
2 | Black Screen | 0x4 | |
3 | CSR Active Config | 0x8 | x |
4 | CSR Pending Config | 0x10 | |
5 | CSR Boot | 0x20 | x |
6 | Black Background | 0x40 |
Note
- In most cases you don't have to change anything here. But if you do, you should exactly know what you are doing and why! You can also change these flags from the Options menu in the Bootloader GUI (Options/System Parameters/bootargs/Flags). But in this case the applied settings are only applied temporary for the next boot.
- The Clover menu contains 2 additional entries: "Login UI" and "Install UI". They don't have a hex value assigned to them so you can't add them to the bitmask.
- My Clover Calcs spreadsheet contains a calculator to calculate your own bitmask (usually not required).
With the release of macOS El Capitan in 2015, a new security feature was introduced: System Integrity Protection (SIP). By default, SIP is enabled (0x000
) and does not allow you to load your kexts or install your system utilities. To disable it, you can calculate your own bitmask containing various flags.
The default value for CsrActiveConfig
for Clover r5142 currently is 0xA87
, which consists of the following enabled flags:
Bit | Flag Name | HEX Value | Clover Default |
---|---|---|---|
0 | CSR_ALLOW_UNTRUSTED_KEXTS | 0x1 | x |
1 | CSR_ALLOW_UNRESTRICTED_FS | 0x2 | x |
2 | CSR_ALLOW_TASK_FOR_PID | 0x4 | x |
3 | CSR_ALLOW_KERNEL_DEBUGGER | 0x8 | |
4 | CSR_ALLOW_APPLE_INTERNAL | 0x10 | |
5 | CSR_ALLOW_UNRESTRICTED_DTRACE | 0x20 | |
6 | CSR_ALLOW_UNRESTRICTED_NVRAM | 0x40 | |
7 | CSR_ALLOW_DEVICE_CONFIGURATION | 0x80 | x |
8 | CSR_ALLOW_ANY_RECOVERY_OS | 0x100 | |
9 | CSR_ALLOW_UNAPPROVED_KEXTS | 0x200 | x |
10 | CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE | 0x400 | |
11 | CSR_ALLOW_UNAUTHENTICATED_ROOT | 0x800 | x |
0xA87
is a 12 bit bitmask and as such, is only valid for macOS 11 and newer. So if you are running an older version of macOS, use the CloverCalcs spreadsheet which can be found in the Xtras Section to calculate your own.
Note
- The recommended value is
0x803
. It uses just enough flags so that you can apply root patches with OpenCore Legacy Patcher! - You can also change these flags from the options menu in the Clover GUI (Options > System Parameters > System Integrity Protection). But in this case, the flags are only applied temporarily until the next reboot.
- Contrary to popular belief, enabling bit 12 (ALLOW_UNAUTHENTICATED_ROOT) which is required for applying Post-Install patches like installing removed iGPU/GPU drivers does not disable System Update Notifications. This only happens when used in combination with bit 5 (ALLOW_APPLE_INTERNAL).
macOS Version | Bitmask Size | CsrActiveConfig |
---|---|---|
macOS 11+ | 12 bits | 0x803 |
macOS 10.14/10.15 | 11 bits | 0x7FF |
macOS 10.13 | 10 bits | 0x3FF |
macOS 10.12 | 9 bits | 0x1FF |
macOS 10.11 | 8 bits | 0x0FF |
Note
Check the Xtras Section to find out more about Booter- and CsrActiveConfig and how to calculate your own.
HWTarget
was introduced Clover r5140. It's required for SMBIOSes of Macs with a T2 Security Chip in order to get notified about System Updates. It writes the variable BridgeOSHardwareModel
to NVRAM, which is requested by macOS Monterey.
If you use a SMBIOS of one of the Mac models listed below, copy the corresponding value and paste it in the HWTarget
field of your config.plist
.
- MacBookPro15,1 (
J680AP
), 15,2 (J132AP
), 15,3 (J780AP
), 15,4 (J213AP
) - MacBookPro16,1 (
J152FAP
), 16,2 (J214KAP
), 16,3 (J223AP
), 16,4 (J215AP
) - MacBookAir8,1 (
J140KAP
), 8,2 (J140AAP
) - MacBookAir9,1 (
J230KAP
) - Macmini8,1 (
J174AP
) - iMac20,1 (
J185AP
), 20,2 (J185FAP
) - iMacPro1,1 (
J137AP
) - MacPro7,1 (
J160AP
)
To confirm that the parameter is set, reboot and enter in Terminal: sysctl hw.target
. It should return the value you entered for HWTarget
Source: Insanelymac
As of Clover r5151, HWTarget
is broken in macOS Ventura. As a consequence, you can't install OTA updates when using an SMBIOS of a Mac model with a T2 security chip. Do the following to re-enable System Updates (for now):
- Add
RestrictEvents.kext
- Add the following boot-args:
-no_compat_check
→ allows inatlling/booting macOS with an unsupported SMBIOS/Board-IDrevpatch=sbvmm
→ Forces VMM SB model, allowing OTA updates for unsupported models on macOS 11.3 or newer.- Change SMBIOS to the correct/native one designed for your CPU family for optimal compatibility and performance.
More details here: Fixing issues with System Update Notifications in macOS 11.3 and newer
Note
HWTarget
is only required when using an SMBIOS of Macs with a T2 chip.HWTarget
values are very similar to those used by OpenCore forSecureBootModel
. For example, the value for MacPro7,1 isj160
in OpenCore, whereas in Clover it'sJ160AP
.