Contribute
Register

[GUIDE] Installing 3rd Party Kexts - El Capitan, Sierra, High Sierra, Mojave, Catalina

jaymonkey

Moderator
Joined
Aug 27, 2011
Messages
3,995
Motherboard
GB Z490 Vision G
CPU
i9 10850K OC @ 5.2 GHz
Graphics
Vega 64 LC + HD 630
Mac
  1. MacBook Air
  2. MacBook Pro
  3. Mac Pro
Mobile Phone
  1. iOS
@soeryobadja,

Clover has no need of a feature to define the load order of injected kexts as it is not as fussy as OpenCore and will load all primary, satellite and dependency kext's without any problems.

If you have your 3rd party kext's installed in /L/E and want to ensure that Lilu, VirtualSMC .. etc load early enough in the boot process, then you can use the LiluFriend kext but it is not required if you are injecting your kext's via Cover.


Cheers
Jay
 
Last edited:

trs96

Moderator
Joined
Jul 31, 2012
Messages
20,925
Motherboard
GA-Z97X-UD3H-BK
CPU
i5-4690K
Graphics
HD4600 / RX 570
Mac
  1. MacBook Pro
  2. Mac mini
Mobile Phone
  1. Android
What is the process (for installing kexts) in case of using OpenCore bootloader?
I am wondering the same thing.
When using OC, the developers of that state that they should go in the kexts folder within the OC folder on the EFI partition. Here's the schematic from the OC reference manual. Acidanthera is also the dev team that gives us Lilu, WEG and AppleALC.
Screen Shot 15.jpg
 

Attachments

  • OC Ref.Manual.pdf.zip
    565.4 KB · Views: 38
Last edited:

Gigamaxx

Moderator
Joined
May 15, 2016
Messages
6,563
Motherboard
GIGABYTE X470 Arous Gaming 7 WiFi
CPU
Ryzen R9 3900X
Graphics
RX 480
Mac
  1. iMac
I am wondering the same thing.
The main item to worry about is that Lilu loads first. All the sample plists provided in Open Core have this set as #1 to load. It is quite easy to inject kexts with OC, just place them in the Kexts folder, and open the config.plist with Propertree and select "OC Snapshot" it will add all the dependencies in the proper order for the kexts in the Kernel Add section. In fact it will do the same for ACPI SSDT adds or removals, Drivers etc... After adding all your drivers, kexts SSDTs etc, use Open Core "Sanity Checker' to check for errors. Open sanitizer checker and set the OC version i.e 0.6.0 and set the system type i.e. Ivy Bridge, Haskell etc.. then drag your config plist to the checker. It will list all the errors as well as green light your correct settings. open the config.plist with proper tree and set it alongside of the Checker to change items as needed then save and your good to go.
 
Last edited:

trs96

Moderator
Joined
Jul 31, 2012
Messages
20,925
Motherboard
GA-Z97X-UD3H-BK
CPU
i5-4690K
Graphics
HD4600 / RX 570
Mac
  1. MacBook Pro
  2. Mac mini
Mobile Phone
  1. Android
just place them in the Kexts folder, and open the config.plist with Propertree and select "OC Snapshot" it will add all the dependencies in the proper order for the kexts in the Kernel Add section.
The OC snapshot is a feature that puts all your "ducks in a row" so to speak, with just one click. Great feature to use in the ProperTree app from CorpNewt. Saves the end user a lot of time and grief trying to do that manually.
 
Joined
Feb 13, 2011
Messages
394
Motherboard
Asus Vivobook S15 / x510UAR
CPU
i5-8250U
Graphics
UHD 620
Mobile Phone
  1. Android
Rather than an old version attached, the always latest version of OpenCore's Reference Manual can be found at:


current for v.0.6.1 as of today 2020-08-25
 
Joined
Sep 22, 2011
Messages
1,399
Motherboard
HP EliteDesk 800 G5 Mini
CPU
i9-9900
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
Has anyone observed the warning "relocation failed" when attempting to install the latest AppleALC.kext (1.5.4) in /L/E? Is this a problem and does this preclude installation of AppleALC.kext in /L/E? Details below...

I'm still installing kexts in /L/E with CLOVER r5122 and Catalina 10.15.7. When attempting to install the latest AppleALC.kext (1.5.4), executing 'kextcache -i /' results in the warning below (repeated 4 times). Acidanthera doesn't consider this to be a problem since it doesn't affect OC kext injection and they no longer support CLOVER and kexts installed in /L/E. This warning does not occur with AppleALC.kext 1.5.3. Does anyone know if this warning is a problem for AppleALC.kext installed in /L/E? Thank you.

Code:
kxld[as.vit9696.AppleALC]: Warning: relocation failed because some class in this kext didn't use the OSDeclareDefaultStructors and OSDefineMetaClassAndStructors, or didn't export all vtable symbols, so it still references IOService::_RESERVEDIOService0(), which has been patched with another symbol for binary compatibility. Please make sure all classes that inherit from OSObject use these macros.
 

elfcake

Banned
Joined
Nov 26, 2012
Messages
1,740
Motherboard
Gigabyte Z490 D
CPU
i7-10700K
Graphics
RX 580
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Has anyone observed the warning "relocation failed" when attempting to install the latest AppleALC.kext (1.5.4) in /L/E? Is this a problem and does this preclude installation of AppleALC.kext in /L/E? Details below...

I'm still installing kexts in /L/E with CLOVER r5122 and Catalina 10.15.7. When attempting to install the latest AppleALC.kext (1.5.4), executing 'kextcache -i /' results in the warning below (repeated 4 times). Acidanthera doesn't consider this to be a problem since it doesn't affect OC kext injection and they no longer support CLOVER and kexts installed in /L/E. This warning does not occur with AppleALC.kext 1.5.3. Does anyone know if this warning is a problem for AppleALC.kext installed in /L/E? Thank you.

Code:
kxld[as.vit9696.AppleALC]: Warning: relocation failed because some class in this kext didn't use the OSDeclareDefaultStructors and OSDefineMetaClassAndStructors, or didn't export all vtable symbols, so it still references IOService::_RESERVEDIOService0(), which has been patched with another symbol for binary compatibility. Please make sure all classes that inherit from OSObject use these macros.
I’m not 100% sure but any 3rd part kext should not be in L/E or S/L/E but in the kext folder of the EFI folder.
 
Last edited:
Joined
Sep 22, 2011
Messages
1,399
Motherboard
HP EliteDesk 800 G5 Mini
CPU
i9-9900
Graphics
UHD 630
Mac
  1. Mac mini
Mobile Phone
  1. iOS
I’m not 100% sure but any 3rd part kext should not be in L/E or S/L/E but in the kext folder of the EFI folder.
That's certainly one approach. You read the first post in this thread?
 

Feartech

Moderator
Joined
Aug 3, 2013
Messages
24,186
Motherboard
Asus N752VX-OpenCore
CPU
i7-6700HQ / HM170
Graphics
HD 530 1920 x 1080
Mac
  1. iMac
Mobile Phone
  1. iOS
Top