KLDCONFIG(8)

NAME
kldconfig - display or modify the kernel module search path

SYNOPSIS
kldconfig [-dfimnUv] [-S sysctlname] [path ...]
kldconfig -r

DESCRIPTION
The kldconfig utility displays or modifies the search path used by the kernel when loading modules using the kldload(8) utility or the kldload(2) syscall.

The following options are available:

-d  Remove the specified paths from the module search path.

-f  Do not fail if a path specified for adding is already present in the search path, or if a path specified for removing is not present in the search path. This may be useful in startup/shutdown scripts for adding a path to a file system which is still not mounted, or in shutdown scripts for unconditionally removing a path that may have been added during startup.

-i  Add the specified paths to the beginning of the search path, not to the end. This option can only be used when adding paths.

-m  Instead of replacing the module search path with the set of paths specified, “merge” in the new entries.

-n  Do not actually change the module search path.

-r  Display the current search path. This option cannot be used if any paths are also specified.

-S sysctlname
    Specify the sysctl name to use instead of the default kern.module_path.

-U  “Unique-ify” the current search path - if any of the directories is repeated one or more times, only the first occurrence remains. This option implies -m.

-v  Verbose output: display the new module search path. If the path has been changed, and the -v flag is specified more than once, the old path is displayed as well.

FILES

/boot/kernel, /boot/modules, /modules
    The default module search path used by the kernel.

EXIT STATUS

EXAMPLES
Show the module search path

    $ kldconfig -r
    /boot/kernel;/boot/modules;/boot/dtb;/boot/dtb/overlays

Try to delete the /boot directory from the search path. The command will fail:

    $ kldconfig -d /boot
    kldconfig: not in module search path: /boot
    $ echo $?
    1

Same as above but forcing the operation. This time the command will succeed:

    $ kldconfig -d -f /boot
    $ echo $?
    0

Add the /boot directory to the beginning of the search path and display extra verbose output:

    $ kldconfig -i -m -vv /boot
    /boot/kernel;/boot/modules -> /boot;/boot/kernel;/boot/modules

Without -m the -i flag will overwrite the contents of the search path list:

    $ kldconfig -i -vv /boot
    /boot;/boot/kernel;/boot/modules;/boot/dtb;/boot/dtb/overlays -> /boot

Same as above but using -n to simulate the operation without actually doing it:

    $ kldconfig -i -n -vv /boot
    /boot;/boot/kernel;/boot/modules;/boot/dtb;/boot/dtb/overlays -> /boot

Add directories to the search path removing duplicates. Note the need of -f to force the operation in case any of the directories is already in the search path. The /boot/kernel directory will be added once:

    $ kldconfig -f -U /boot/kernel /boot/kernel /boot/modules /boot/dtb /boot/dtb/overlays

SEE ALSO
kldload(2), kldload(8), kldxref(8), sysctl(8)

HISTORY
The kldconfig utility first appeared in FreeBSD 4.4.

AUTHORS
Peter Pentchev <roam@FreeBSD.org>