Below is the English translation of the provided text about the WhateverGreen repository, specifically tailored for macOS Tahoe. The original text is in Chinese, and I've translated it clearly and concisely while preserving technical accuracy. I've also simplified the "one-liner for beginners" and organized the detailed explanation for clarity.
A branch of WhateverGreen for macOS Tahoe.
One-Liner for Beginners
To fix booting issues in macOS Tahoe (or later) installers and recovery mode, add this boot argument:
wegdetectmode=norec
Additional Boot Arguments
Below is a detailed explanation. If it's too technical, just use the one-liner above.
-
wegdetectmode=ignore
Purpose: Forces WhateverGreen to load, ignoring base system detection.
Use Case:# Loads WhateverGreen even in recovery mode or base system wegdetectmode=ignoreBehavior:
- Initializes even if a base system (bootbase.efi) is detected.
- Overrides the
norecmode. - Log output:
"WhateverGreen: wegdetectmode=ignore detected"
-
wegdetectmode=force
Purpose: Skips initialization if system information is missing.
Use Case:# Prevents loading WhateverGreen in abnormal boot environments wegdetectmode=forceBehavior:
- Skips initialization if the
/chosenIORegistry node is missing. - Skips initialization if the
booter-nameproperty is not found. - Log output:
"WhateverGreen: wegdetectmode=force detected"
- Skips initialization if the
-
wegdetectmode=norec
Purpose: Prevents WhateverGreen from loading in recovery mode on macOS Tahoe or later.
Use Case:# Stops WhateverGreen from loading in recovery mode wegdetectmode=norecBehavior:
- Only applies to macOS Tahoe or newer (based on kernel version check).
- Skips initialization in base system (recovery mode).
- Mutually exclusive with
ignoremode (ignoretakes priority). - Log output:
"WhateverGreen: wegdetectmode=norec detected"
Combining Boot Arguments
Examples:
# Scenario 1: Force mode + prevent recovery mode
wegdetectmode=force,norec
# Scenario 2: Ignore detection + force mode
wegdetectmode=ignore,force
# Scenario 3: Only prevent recovery mode
wegdetectmode=norec
Priority Rules
ignore>norec(ignore mode takes precedence).forceacts independently (affects error handling).- Combine parameters with commas.
Detection Logic Flow
Boot Process Decision Matrix
| Detection Result | Ignore Mode | NoRec Mode | Force Mode | Outcome |
|---|---|---|---|---|
| Base System | Enabled | Enabled | Any | Continue initialization |
| Base System | Disabled | Enabled | Any | Skip initialization |
| Base System | Enabled | Disabled | Any | Continue initialization |
| Base System | Disabled | Disabled | Any | Continue initialization |
| Normal System | Any | Any | Any | Continue initialization |
No /chosen Node |
Any | Any | Enabled | Skip initialization |
No /chosen Node |
Any | Any | Disabled | Continue initialization |
No booter-name |
Any | Any | Enabled | Skip initialization |
No booter-name |
Any | Any | Disabled | Continue initialization |
Log Output Examples
Informational Logs:
WhateverGreen: wegdetectmode=ignore detected
WhateverGreen: /chosen not found
WhateverGreen: booter-name: 'boot.efi' (length: 8)
WhateverGreen: Normal System detected
Decision Logs:
WhateverGreen: Skipping due to Base System + noRecMode
WhateverGreen: force mode enabled, skipping
Applicable System Versions
Tahoe Kernel Version Requirements
norecmode only works on:- macOS Tahoe or newer.
- Kernel version check:
getKernelVersion() >= KernelVersion::Tahoe.
Compatibility
ignoreandforcemodes work on all macOS versions.norecmode is ignored on versions older than Tahoe.
If you need further clarification, a summary of specific sections, or help with applying these boot arguments, let me know!