Jump to content

Replacing or downgrading a kext. Still possible?


4 posts in this topic

Recommended Posts

On 10/11/2018 at 4:54 AM, Hervé said:

Keep Mojave's vanilla kext. Open it and check the Info.plist file in the Contents folder. You'll probably find that your card's PCI id 14e4:16b5 is not listed/included, i.e. the card is not natively supported. Then check the same in the patched kext you previously used. If you notice your card id is listed in that one, simply apply the same patch to Mojave's vanilla kext, i.e. add your card's id to the kext.

 

There are various ways to do this and I can recommend the following 2 x options:

  1. use Clover's on-the-fly facility through Clover Configurator app
  2. install a manually patched kext:
    • make a copy of Mojave's vanilla kext on your desktop
    • modify its Info.plist file to inject your card's id (14e4:16b5)
    • increase the kext version to, say, 999 in the Info.plist + version.plist files
    • move the modified kext to /Library/Extensions
    • repair permissions to /L/E and rebuild your cache

 

Clover's on-the-fly facility operate on cached kexts.

 

The manually patched kext installation option carries several advantages:

  1. it caches the patched kext
  2. the patch is sustainable to future Mojave updates because, when 2 x kexts with identical names exist, OS X/macOS only loads the kext carrying the highest version
  3. the patched kext can be easily removed to revert to the vanilla kext without any further action other than rebuilding your cache. It will also be ignored if you boot without cache (bacause this bypasses /L/E).

 

Is there a way to make this procedure work but for a USB Installer where you do not have /Library/Extensions, but only /EFI/Clover/kexts/Other?

 

macOS installer do not use cached kexts per sé but a default prelinked kernel; as such, the process you quoted is irrelevant for a USB installer. You could have tried to replace the native kext from the USB intaller's /S/L/E folder but, with Big Sur, it gets awfully complicated and no guarantee that an old patched kext from Mojave would work either.

 

If you have details of the patch, you may want to consider implementing them through your bootloader config instead.

Posted (edited)
5 hours ago, Hervé said:

macOS installer do not use cached kexts per sé but a default prelinked kernel; as such, the process you quoted is irrelevant for a USB installer. You could have tried to replace the native kext from the USB intaller's /S/L/E folder but, with Big Sur, it gets awfully complicated and no guarantee that an old patched kext from Mojave would work either.

 

If you have details of the patch, you may want to consider implementing them through your bootloader config instead.

 

The only information i've got is this documentation here https://github.com/RehabMan/patch-nvme#special-patches-for-liteonplextorhynix-nvme 

 

and this (see 2019 edit)

 

 

and some old kext patches that are no longer working with Big Sur such as 

 

  <dict>
    <key>Comment</key>
    <string>IONVMeFamily: Ignore FLBAS bit:4 being set - for Plextor/LiteOn/Hynix</string>
    <key>Disabled</key>
    <false/>
    <key>Name</key>
    <string>IONVMeFamily</string>
    <key>Find</key>
    <data>ikga9sEQ</data>
    <key>Replace</key>
    <data>ikga9sEA</data>
  </dict>

 

I guess I reached a dead end, didn't I ?

Edited by jamesst20
×
×
  • Create New...