Skip to content

Commit ae823b2

Browse files
naomispheredavide125
authored andcommitted
include missing 4CCs, fix errors
Signed-off-by: satomi <satwomii@proton.me>
1 parent 34fb427 commit ae823b2

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

docs/fw/boot.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Apple Silicon devices seem to follow a boot flow very similar to modern iOS devi
88

99
# Stage 0 (SecureROM)
1010

11-
This stage is located in the boot [ROM](../project/glossary.md#r). Among others, it verifies, loads and executes normal stage 1 from [NOR](../project/glossary.md#n). If this fails, it falls back to [DFU](../project/glossary.md#d) and wait for an [iBSS](../project/glossary.md#i) loader to be sent, before continuing with the [DFU](../project/glossary.md#d) flow at stage 1.
11+
This stage is located in the boot [ROM](../project/glossary.md#r). Among others, it verifies, loads and executes normal stage 1 from [NOR](../project/glossary.md#n). If this fails, it falls back to [DFU](../project/glossary.md#d) and waits for an [iBSS](../project/glossary.md#i) loader to be sent, before continuing with the [DFU](../project/glossary.md#d) flow at stage 1.
1212

1313
# Normal flow
1414

@@ -20,26 +20,29 @@ This stage is the primary early loader, located in the on-board [NOR](../project
2020
* Get the local policy hash:
2121
- First try the local proposed hash ([SEP](../project/glossary.md#s) command 11);
2222
- If that is not available, get the local blessed hash ([SEP](../project/glossary.md#s) command 14)
23-
* Read the local boot policy, located on the iSCPreboot partition at `/<volume-group-uuid>/LocalPolicy/<policy-hash>.img4`. This boot policy has the following specific metadata keys:
23+
* Read the local boot policy, located on the iSCPreboot partition at `/<volume-group-uuid>/LocalPolicy/<policy-hash>.img4`. This boot policy has the following specific metadata keys ([4CCs](../project/glossary.md#4)):
2424
- `vuid`: UUID: Volume group UUID - same as above
2525
- `kuid`: UUID: KEK group UUID
2626
- `lpnh`: SHA384: Local policy nonce hash
2727
- `rpnh`: SHA384: Remote policy nonce hash
28+
- `ronh`: SHA384: Recovery OS policy nonce hash
2829
- `nsih`: SHA384: Next-stage IMG4 hash
2930
- `coih`: SHA384: fuOS (custom kernelcache) IMG4 hash
3031
- `auxp`: SHA384: Auxiliary user-authorized kernel extensions hash
3132
- `auxi`: SHA384: Auxiliary kernel cache IMG4 hash
3233
- `auxr`: SHA384: Auxiliary kernel extension recept hash
3334
- `prot`: SHA384: Paired Recovery manifest hash
35+
- `hrlp`: bool: Recovery OS local policy is Secure Enclave–signed
3436
- `lobo`: bool: Local boot policy
37+
- `love`: bool: Local OS version
3538
- `smb0`: bool: Reduced security enabled
3639
- `smb1`: bool: Permissive security enabled
3740
- `smb2`: bool: Third-party kernel extensions enabled
3841
- `smb3`: bool: Manual mobile device management (MDM) enrollment
3942
- `smb4`: bool?: MDM device enrollment program disabled
4043
- `sip0`: u16: SIP customized
41-
- `sip1`: bool: Signed system volume (`csrutil authenticated-boot`) disabled
42-
- `sip2`: bool: CTRR ([configurable text region read-only](https://keith.github.io/xcode-man-pages/bputil.1.html)) disabled
44+
- `sip1`: bool: Signed system volume (`csrutil authenticated-root`) disabled
45+
- `sip2`: bool: CTRR ([Configurable Text Read-only Region](https://keith.github.io/xcode-man-pages/bputil.1.html)) disabled
4346
- `sip3`: bool: `boot-args` filtering disabled
4447

4548
And optionally the following linked manifests, each located at `/<volume-group-uuid>/LocalPolicy/<policy-hash>.<id>.im4m`

0 commit comments

Comments
 (0)