kldconfig
—
display or modify the kernel module search path
kldconfig |
[-dfimnUv ] [-S
sysctlname] [path ...] |
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.
- /boot/kernel,
/boot/modules, /modules
- The default module search path used by the kernel.
The kldconfig
utility exits 0 on
success, and >0 if an error occurs.
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
The kldconfig
utility first appeared in
FreeBSD 4.4.