MKEXTCACHE(8)

NAME
mkextcache - create a multi-kext archive

SYNOPSIS
mkextcache [-v [1-3]] [-t arch] [-l] [-n] [-o output_filename] [-d dir_to_scan ...] [kextname ...]

DESCRIPTION
mkextcache compresses and archives one or more kernel extension bundles (KEXTs). The purpose of this is to enable startup loading of extensions over the network, as well as caching of extensions for local use in order to save disk and filesystem operations at startup time.

Extension bundles can be specified by directory using the -d option, which scans the named directory for all bundles ending in ‘.kext’, or by naming each extension bundle individiually. More than one directory or bundle can be named, and you can specify directories to scan along with individual bundles. If no directories or bundles are specified, then the standard extension directory, /System/Library/Extensions, is scanned and all of the appropriate extension bundles there are compiled into the archive.

You name the output file using the -o option. Multi-kext archives by convention end with the extension ‘.mkext’ (which you should specify as part of the output filename). The Mac OS X secondary loader looks for multi-kext archives in the same place as it looks for the kernel; it appends the ‘.mkext’ extension to the base name of the kernel file to determine the name of the archive file.

The following options are available:

-d dir_to_scan
    Specifies a directory to scan for extension bundles, as described above.

-o output_filename
    The name of the archive file to create. If no output file is specified, nothing is written to disk; this can be useful with the verbose flag to diagnose problems or to determine how large an archive will be.

-t arch
    Specifies a CPU architecture (type). Limiting the contents of the archive to a single CPU type saves file space and load time. The argument should be a CPU architecture name as printed by the arch(1) command.

-l  Specifies that only extensions required for local disk boot be included in the archive. May be combined with the -n option to archive both local- and network-root extensions.

-n  Specifies that only extensions required for network boot be included in the archive. May be combined with the -l option to archive both local- and network-root extensions.

-v [1-3]
    Sets verbose mode, so more information is presented. You can specify a level of 1 to 3 to see more detailed information.

BUGS
mkextcache currently archives only an extensions property list and principal executable file. Additional executable files and general resources are not included.