January 24, 2012

What are kexts?

Kext files are essentially drivers for Mac OS X. "Kext" stands for Kernel Extension; kext files "extend" Mac OS X's kernel, the core part of the operating system, by providing additional code to be loaded when your computer boots. Hackintoshes often require special kexts to enable sound, ethernet, and more. Some Hackintosh-specific kexts are modified versions of existing Mac OS X kexts, such as AppleHDA.kext. Other kexts are extra additions to the normal list of kexts that OS X runs on startup. In the end, all of these Hackintosh kexts serve the same purpose: to add support to hardware that isn't officially supported by Apple.

Technically, kexts aren't individual files. In fact, .kext "files" are essentially packaged like .zip files. If you copy a .kext file onto a Windows installation, it becomes a folder. That's because that's what kexts are-- folders. Much like Apple's .app files, you can access the inside of a kext by right-clicking the kext file and clicking "Show Package Contents". Once you've entered the contents of the kext file, you will be able to edit the plist (settings) files and make other modifications, if necessary. Editing the contents of kext files is occasionally necessary to activate certain graphics card kexts or fix glitchy kexts. However, we won't go into that process here.

Kext files are installed to /System/Library/Extensions by default. Before the release of Mac OS X Lion, Hackintosh-specific kexts used to be installed to /Extra/Extensions, but that folder is now outdated (unless you are using the myHack installation tool). The popular post-installation tool Multibeast is essentially a collection of kexts, packaged with an installer.

And that's all there is to it. To find individual kext files not included in Multibeast, check out this post. To learn how to manually install kext files, check out this post.