Skip to content

sumitduster-iMac/WhateverGreen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

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.


WhateverGreen

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.

  1. wegdetectmode=ignore
    Purpose: Forces WhateverGreen to load, ignoring base system detection.
    Use Case:

    # Loads WhateverGreen even in recovery mode or base system
    wegdetectmode=ignore
    

    Behavior:

    • Initializes even if a base system (bootbase.efi) is detected.
    • Overrides the norec mode.
    • Log output: "WhateverGreen: wegdetectmode=ignore detected"
  2. wegdetectmode=force
    Purpose: Skips initialization if system information is missing.
    Use Case:

    # Prevents loading WhateverGreen in abnormal boot environments
    wegdetectmode=force
    

    Behavior:

    • Skips initialization if the /chosen IORegistry node is missing.
    • Skips initialization if the booter-name property is not found.
    • Log output: "WhateverGreen: wegdetectmode=force detected"
  3. 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=norec
    

    Behavior:

    • Only applies to macOS Tahoe or newer (based on kernel version check).
    • Skips initialization in base system (recovery mode).
    • Mutually exclusive with ignore mode (ignore takes 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

  1. ignore > norec (ignore mode takes precedence).
  2. force acts independently (affects error handling).
  3. 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

  • norec mode only works on:
    • macOS Tahoe or newer.
    • Kernel version check: getKernelVersion() >= KernelVersion::Tahoe.

Compatibility

  • ignore and force modes work on all macOS versions.
  • norec mode 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!

About

A fork of WhateverGreen for macOS Tahoe.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •