KEXTLOAD(8) | System Manager's Manual | KEXTLOAD(8) |
kextload
— load
kernel extensions (kexts) into the kernel
kextload |
[options] [-- ]
[kext ... ] |
The kextload
utility has been deprecated.
Please use the kmutil(8) equivalent: kmutil load.
The kextload
program is used to explicitly
load kernel extensions (kexts). For most kexts,
kextload
must run as the superuser (root). Kexts
installed under /System/ with an
OSBundleAllowUserLoad property set to true may be loaded via
kextload
by non-root users.
Notice:
On Mac OS X 10.6 (Snow Leopard), the developer functionality of
kextload
has moved to the new program
kextutil(8); all developer-related options have been
removed from kextload
and are no longer recognized.
On Mac OS X 10.6 (Snow Leopard), kextload
simply
forwards a load request to kextd(8), which performs all
communication with the kernel.
kextload
is a formal interface for kext
loading in all versions of Darwin OS and macOS. Software and installers can
rely on its presence and invoke it in order to load kexts. Note that long
options are present as of Mac OS X 10.6 (Snow Leopard).
Mac OS X 10.6 (Snow Leopard) introduces C functions for loading kexts: KextManagerLoadKextWithIdentifier() and KextManagerLoadKextWithURL(), which are described in Apple's developer documentation.
-bundle-id
option.-b
identifier, -bundle-id
identifier-dependency
and
-repository
options for more information.-d
kext, -dependency
kext-repository
option for more information.-h
,
-help
-q
,
-quiet
-r
directory, -repository
directory-bundle-id
option. This is not recursive; only kexts directly within the directory,
and their plugins, are scanned. See also the
-dependency
option.-v
[0-6
|
0x####
],
-verbose
[0-6
|
0x####
]kextload
messages kextd(8), to
perform the actual work of loading, the decimal levels 1-6 generally have
little effect. You may wish to use kextutil(8) if you
want verbose output about the kext loading operation.--
To load a kext, run kextload
and supply a
kext bundle name; no options are required:
kextload TabletDriver.kext
Alternatively, you can use the -bundle-id
(-b
) option to specify a kext by its
CFBundleIdentifier:
kextload -bundle-id com.mycompany.driver.TabletDriver
With no additional options kextload
looks
in the extensions directories
(/System/Library/Extensions/ and
/Library/Extensions/) for a kext with the given
CFBundleIdentifier. Adding repository directories with the
-repository
option or individual kexts with the
-dependency
option expands the set of kexts that
kextload
looks among for dependency resolution and
for loading by bundle identifier:
kextload -repository /Applications/MyApp.app/Contents/Resources \ TabletDriver.kext
kextload
exits with a zero status if all
kexts specified load successfully (or are already loaded). If any kext fails
to load, kextload
prints an error message for that
kext, continues trying to load any remaining kexts, then exits with a
nonzero status.
For a kext to be loadable, it must be valid, authenticated, and all dependencies of the kext must be available and loadable. A valid kext has a well formed bundle, info dictionary, and an executable built for the running kernel's architecture. An authentic kext's component files, not including plugins, are owned by root:wheel, with permissions nonwritable by group and other. If your kext fails to load, try using kextutil(8) to examine the kext for problems.
kmutil(8), kernelmanagerd(8), kextcache(8), kextd(8), kextstat(8), kextunload(8), kextutil(8), kext_logging(8)
November 14, 2012 | Darwin |