Jump to content

Should I update the kext caches? How do I do this?


PookyMacMan
 Share

1 post in this topic

Recommended Posts

It is very necessary; whenever you install a new kext, if you don't update the caches it renders the driver ineffective!

/System/Library/Extensions and /Extra/Extensions both have their own caches. Wherever you install the next is where you have to update the caches, so if you install a kext in /System/Library/Extensions you must update the caches in /System/Library/Extensions but you don't have to worry about /Extra/Extensions, and vice versa.

GUI Utilities
You can download and run Kext Utility to update the caches for both /System/Library/Extensions and /Extra/Extensions for any system 10.5 Leopard or higher. This utility is easiest for newbies, but it can be inconsistent and occasionally not update the caches properly, particularly on 10.7 Lion systems.

Manual methods
Depends on which folder you update:

/Extra/Extensions
Run the following command in the Terminal:

sudo kextcache -v 1 -a i386 -a x86_64 -m /Extra/Extensions.mkext /Extra/Extensions

/System/Library/Extensions
This depends on your system:

10.4 Tiger/10.5 Leopard
Simply go to /System/Library and delete the files Extensions.mkext and Extensions.kextcache.

10.6 Snow Leopard
This is the same as updating /Extra/Extensions, but with the correct directory.


sudo kextcache -v 1 -a i386 -a x86_64 -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions

10.7 Lion and 10.10 Yosemite

 

Enter the following in the Terminal: either


sudo kextcache -system-prelinked-kernel
sudo kextcache -system-caches

or

sudo touch /System/Library/Extensions

10.11 El Capitan

 

First type:

sudo -s

Now type this - Just remember to change the partition name for what you use.

In the code below, i'll use 'El Capitan' tag.

chmod -R 755 /Volumes/El Capitan/Library/Extensions
chown -R 0:0 /Volumes/El Capitan/Library/Extensions
touch /Volumes/El Capitan/System/Library/Extensions
kextcache -u /Volumes/El Capitan
exit

For Clover users, you can put your kexts in EFI/Clover/kexts/Other.

But if you have 2 or more OS X versions in your Hackintosh, and need especific kexts, you need put your kexts in the corresponding folder.

 

E.g: EFI/Clover/kexts/10.9 or 10.11...

 

If these folders are not there, just create them  ;)

 

And use this value in your config.plist to update the Clover cache - Read more about that here: InjectKexts and NoCaches

<key>SystemParameters</key>
<dict>
<key>InjectKexts</key>
<string>Yes</string>

Note for Clover users: Don't duplicate the kexts, or you use in System/Library/Extensions or in EFI/Clover/kexts/****

 

 

Note that on 10.7 Lion systems, the kext cache by default is ignored. This will cause a slow boot process; to fix this you must boot with UseKernelCache=Yes, but no kexts in /Extra/Extensions will be loaded. For more information, see this FAQ.

Edited by Allan
Topic updated - 05/04
  • Like 4
Link to comment
Share on other sites

 Share

×
×
  • Create New...