Mac Developer Library Developer
Search

 

This manual page is for Mac OS X version 10.9

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • To learn how the manual is organized or to learn about command syntax, read the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Developer Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.




KEXTD(8)                  BSD System Manager's Manual                 KEXTD(8)

NAME
     kextd -- kernel extension server

SYNOPSIS
     kextd [options]

DESCRIPTION
     kextd is the kernel extension server.  It runs as a standalone launchd(8) daemon to handle requests
     from the kernel and from other user-space processes to load kernel extensions (kexts) or provide infor-mation information
     mation about them.

OPTIONS
     These options are available:

     -c, -no-caches
              Ignore any repository cache files and scan all kext bundles to gather information.  If this
              option is not given, kextd attempts to use cache files and to create them if they are out of
              date or don't exist.

     -d, -debug
              Debug mode; print messages to stdout/stderr rather than the sysem log.

     -h, -help
              Print a help message describing each option flag and exit with a success result, regardless of
              any other options on the command line.

     -q, -quiet
              Quiet mode; log no informational or error messages.

     -v [0-6 | 0x####], -verbose [0-6 | 0x####]
              Verbose mode; print information about program operation.  Higher levels of verbosity include
              all lower levels.  By default kextd logs at verbose level 1.  You can specify a level from
              0-6, or a hexadecimal log specification (as described in kext_logging(8)). The levels of ver-bose verbose
              bose output are:

              0            Print only errors (that is, suppress warnings); see also -quiet.

              1 (or none)  Print basic information about program operation.

              2            Print information about program operation progress, client requests, and files
                           created.

              3            Print information about individual kexts with an OSBundleEnableKextLogging prop-erty property
                           erty set to true.

              4            Print information about spawned child processes.

              5            Print debug-level information.

              6            Identical to level 5 but for all kexts read by the program.

              See kext_logging(8) for more information on verbose logging.

     -x, -safe-boot
              Run kextd in safe boot mode (indicating startup with the Shift key held down).  Kexts that
              don't specify a proper value for the OSBundleRequired info dictionary property will not be
              loaded.  As of Mac OS X 10.5 (Leopard), kextd determines from the kernel whether the system
              has started in safe boot mode, so this flag is no longer necessary (but may be used for test-ing). testing).
              ing).  In safe boot mode, kextd does not use caches (that is, this option implies the use of
              the -no-caches option).

RESETTING KEXTD
     On Mac OS X 10.3 and later, it is possible to reset kextd without terminating and restarting it, by
     sending it a HUP signal.  This causes kextd to rescan the Extensions folder, rebuild all its caches,
     and send all I/O Kit drivers' personalities to the kernel for a new round of driver matching.  As of
     Mac OS X 10.5 (Leopard), kextd watches /System/Library/Extensions/ and automatically invokes
     kextcache(8) to rebuild kext caches when its modification time changes.  It also sends new drivers'
     personalities to the kernel at this time.

     Installers that add new drivers can signal kextd in these ways instead of requiring the computer to be
     restarted.  Note that if a hardware device has a driver attached when this is done, a newly-installed
     driver will not match on it.  For more information, see ``Apple Developer Technical Q&A QA1319:
     Installing an I/O Kit Kext Without Rebooting''.

FILES
     /System/Library/Extensions/  The standard system repository of kernel extensions.

     /System/Library/Caches/com.apple.kext.caches/
                                  Contains all kext caches for a Mac OS X 10.6 (Snow Leopard) system: pre-linked prelinked
                                  linked kernel, mkext, and system kext info caches.

     /usr/standalone/bootcaches.plist
                                  Describes specific kext cache files for a Mac OS X volume.

     /System/Library/LaunchDaemons/com.apple.kextd.plist
                                  The launchd.plist(5) controlling the kextd job.

DIAGNOSTICS
     kextd normally never exits.  If an error occurs it exits with a nonzero status.

     kextd logs all error and verbose messages to the system log, or to the console if the system log facil-ity facility
     ity isn't available.  When running in debug mode all output is printed to the standard output and error
     streams.

SEE ALSO
     kextcache(8), kextload(8), kextutil(8), kextstat(8), kextunload(8), kextfind(8), syslogd(8),
     launchd.plist(5)

Darwin                           March 6, 2009                          Darwin

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.

Feedback