Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We use Radmind to manage our Mac OS X loadsets and, as such, often run into difficulty when new OS releases come out due to, among other things, updated kernel extensions. The workflow in the past (OS revisions <= 10.4) was to delete the kernel extension cache, update the extensions, and then reboot. That worked just fine, as the system would re-create missing caches on boot. In Leopard, you need to delete the caches after replacing the kernel extensions with their new versions, as the system will automatically start creating them when you replace them; the only way to ensure that you don't have invalid extensions cached is to delete the cache before rebooting.

I'm looking for a way to prevent the kernel extensions cache from being re-created until the next reboot. If you modify the contents of /System/Library/Extensions/, kextcache will start up automatically. I've looked through /System/Library/LaunchDaemons/ and other places, but I can't find whatever it is that's starting kextcache. Any ideas?

share|improve this question
@Jeff, are you trying to run servers here? if so, this might be better suited to Server Fault. (please don't crosspost; the question can be migrated if necessary.) – quack quixote May 4 '10 at 20:06
No, this is referring to the client OS. – Jeff Kelley May 5 '10 at 14:43
up vote 2 down vote accepted

Well, after delving into some of Apple's open-source code, I have solved this issue (at least for Snow Leopard). By issuing the following command:

launchctl unload /System/Library/LaunchDaemons/

You can update kernel extensions, delete their cache file(s), and reboot; the extension caches will be re-created at boot time. I still need to test this for Leopard, but for Snow Leopard it works just fine.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .