Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sys_patch: Allow KDK-less root patching on Intel iGPUs and Nvidia Kepler #1007

Merged
merged 2 commits into from
Aug 27, 2022

Conversation

khronokernel
Copy link
Member

As mentioned in the issue #998, macOS Ventura no longer ships on-disk kernel extensions. Instead requiring Kernel Debug Kits to be installed manually. This creates numerous issues including:

  • Breaking support for automatic root volume patching (ie. AutoPkg-Assets.pkg)
  • Relies on manually uploaded KDKs (Apple has been known to go week+ without seeding a KDK)
  • Requires Apple Developer Account to download (Free accounts supported, however cannot be easily automated for patcher)

Thus this PR's goal is to try and use Apple's Auxiliary Kernel Collection system (AuxKC), and install kexts to /Library/Extensions. This allows for patching without a KDK present, however there are some caveats:

  • Each kext's Info.plist will need to be patched
    • kernelmanagerd currently restricts Apple kexts inside the AuxKC unless they have an explicit Auxiliary load requirement. OCLP will validate and patch the kext accordingly
  • Auxiliary Cache usage is only beneficial for systems that need to add kexts, not delete or replace
    • Intel IGPUs and Nvidia Kepler don't need to delete/replace any kexts, however AMD GCN (and non-Metal in the future) need to replace/delete kexts present in the Boot and System Kernel Collections

Thus this PR will only be beneficial for Intel iGPUs and Nvidia Kepler, this should suffice for the majority of our user base however more research will be needed for developing a work-around to KDK's requirement on AMD GCN

@khronokernel khronokernel merged commit e25843c into ventura-alpha Aug 27, 2022
@khronokernel khronokernel deleted the ventura-kdk-less branch August 27, 2022 19:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant