2001-06-29 18:55:24 +02:00
|
|
|
.\"
|
|
|
|
.\" Copyright (c) 2001 Peter Pentchev
|
|
|
|
.\" All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
|
|
.\" modification, are permitted provided that the following conditions
|
|
|
|
.\" are met:
|
|
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
|
|
.\"
|
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
|
|
.\" SUCH DAMAGE.
|
|
|
|
.\"
|
2020-09-29 19:52:15 +02:00
|
|
|
.Dd September 29, 2020
|
2001-06-29 18:55:24 +02:00
|
|
|
.Dt KLDCONFIG 8
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm kldconfig
|
|
|
|
.Nd display or modify the kernel module search path
|
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Nm
|
|
|
|
.Op Fl dfimnUv
|
2005-02-10 10:19:34 +01:00
|
|
|
.Op Fl S Ar sysctlname
|
2001-06-29 18:55:24 +02:00
|
|
|
.Op Ar path ...
|
|
|
|
.Nm
|
|
|
|
.Fl r
|
|
|
|
.Sh DESCRIPTION
|
2002-07-06 21:34:18 +02:00
|
|
|
The
|
2001-06-29 18:55:24 +02:00
|
|
|
.Nm
|
2002-07-06 21:34:18 +02:00
|
|
|
utility
|
2001-06-29 18:55:24 +02:00
|
|
|
displays or modifies the search path used by the kernel when loading modules
|
|
|
|
using the
|
|
|
|
.Xr kldload 8
|
|
|
|
utility or the
|
|
|
|
.Xr kldload 2
|
|
|
|
syscall.
|
|
|
|
.Pp
|
|
|
|
The following options are available:
|
|
|
|
.Bl -tag -width indent
|
|
|
|
.It Fl d
|
|
|
|
Remove the specified paths from the module search path.
|
|
|
|
.It Fl f
|
2020-09-29 19:52:15 +02:00
|
|
|
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.
|
2001-06-29 18:55:24 +02:00
|
|
|
This may be useful in startup/shutdown scripts for adding a path to
|
2002-08-21 20:11:48 +02:00
|
|
|
a file system which is still not mounted, or in shutdown scripts for
|
2001-06-29 18:55:24 +02:00
|
|
|
unconditionally removing a path that may have been added during startup.
|
|
|
|
.It Fl 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.
|
|
|
|
.It Fl m
|
|
|
|
Instead of replacing the module search path with the set of paths
|
|
|
|
specified,
|
|
|
|
.Dq merge
|
|
|
|
in the new entries.
|
|
|
|
.It Fl n
|
|
|
|
Do not actually change the module search path.
|
|
|
|
.It Fl r
|
|
|
|
Display the current search path.
|
|
|
|
This option cannot be used if any paths are also specified.
|
2005-02-10 10:19:34 +01:00
|
|
|
.It Fl S Ar sysctlname
|
2001-06-29 18:55:24 +02:00
|
|
|
Specify the sysctl name to use instead of the default
|
|
|
|
.Va kern.module_path .
|
|
|
|
.It Fl U
|
|
|
|
.Dq 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
|
|
|
|
.Fl m .
|
|
|
|
.It Fl v
|
|
|
|
Verbose output: display the new module search path.
|
|
|
|
If the path has been changed, and the
|
|
|
|
.Fl v
|
|
|
|
flag is specified more than once, the old path is displayed as well.
|
|
|
|
.El
|
|
|
|
.Sh FILES
|
|
|
|
.Bl -tag -width indent
|
2001-07-06 09:38:47 +02:00
|
|
|
.It Pa /boot/kernel , /boot/modules , /modules
|
2001-06-29 18:55:24 +02:00
|
|
|
The default module search path used by the kernel.
|
|
|
|
.El
|
2005-01-17 08:44:44 +01:00
|
|
|
.Sh EXIT STATUS
|
|
|
|
.Ex -std
|
2020-09-29 19:52:15 +02:00
|
|
|
.Sh EXAMPLES
|
|
|
|
Show the module search path
|
|
|
|
.Bd -literal -offset indent
|
|
|
|
$ kldconfig -r
|
|
|
|
/boot/kernel;/boot/modules;/boot/dtb;/boot/dtb/overlays
|
|
|
|
.Ed
|
|
|
|
.Pp
|
|
|
|
Try to delete the
|
|
|
|
.Pa /boot
|
|
|
|
directory from the search path.
|
|
|
|
The command will fail:
|
|
|
|
.Bd -literal -offset indent
|
|
|
|
$ kldconfig -d /boot
|
|
|
|
kldconfig: not in module search path: /boot
|
|
|
|
$ echo $?
|
|
|
|
1
|
|
|
|
.Ed
|
|
|
|
.Pp
|
|
|
|
Same as above but forcing the operation.
|
|
|
|
This time the command will succeed:
|
|
|
|
.Bd -literal -offset indent
|
|
|
|
$ kldconfig -d -f /boot
|
|
|
|
$ echo $?
|
|
|
|
0
|
|
|
|
.Ed
|
|
|
|
.Pp
|
|
|
|
Add the
|
|
|
|
.Pa /boot
|
|
|
|
directory to the beginning of the search path and display extra verbose output:
|
|
|
|
.Bd -literal -offset indent
|
|
|
|
$ kldconfig -i -m -vv /boot
|
|
|
|
/boot/kernel;/boot/modules -> /boot;/boot/kernel;/boot/modules
|
|
|
|
.Ed
|
|
|
|
.Pp
|
|
|
|
Without
|
|
|
|
.Fl m
|
|
|
|
the
|
|
|
|
.Fl i
|
|
|
|
flag will overwrite the contents of the search path list:
|
|
|
|
.Bd -literal -offset indent
|
|
|
|
$ kldconfig -i -vv /boot
|
|
|
|
/boot;/boot/kernel;/boot/modules;/boot/dtb;/boot/dtb/overlays -> /boot
|
|
|
|
.Ed
|
|
|
|
.Pp
|
|
|
|
Same as above but using
|
|
|
|
.Fl n
|
|
|
|
to simulate the operation without actually doing it:
|
|
|
|
.Bd -literal -offset indent
|
|
|
|
$ kldconfig -i -n -vv /boot
|
|
|
|
/boot;/boot/kernel;/boot/modules;/boot/dtb;/boot/dtb/overlays -> /boot
|
|
|
|
.Ed
|
|
|
|
.Pp
|
|
|
|
Add directories to the search path removing duplicates.
|
|
|
|
Note the need of
|
|
|
|
.Fl f
|
|
|
|
to force the operation in case any of the directories is already in the
|
|
|
|
search path.
|
|
|
|
The
|
|
|
|
.Pa /boot/kernel
|
|
|
|
directory will be added once:
|
|
|
|
.Bd -literal -offset indent
|
|
|
|
$ kldconfig -f -U /boot/kernel /boot/kernel /boot/modules /boot/dtb /boot/dtb/overlays
|
|
|
|
.Ed
|
2001-06-29 18:55:24 +02:00
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr kldload 2 ,
|
|
|
|
.Xr kldload 8 ,
|
2017-04-27 21:48:00 +02:00
|
|
|
.Xr kldxref 8 ,
|
2001-06-29 18:55:24 +02:00
|
|
|
.Xr sysctl 8
|
|
|
|
.Sh HISTORY
|
|
|
|
The
|
|
|
|
.Nm
|
|
|
|
utility first appeared in
|
2001-08-01 07:53:12 +02:00
|
|
|
.Fx 4.4 .
|
2001-06-29 18:55:24 +02:00
|
|
|
.Sh AUTHORS
|
2014-06-20 11:40:43 +02:00
|
|
|
.An Peter Pentchev Aq Mt roam@FreeBSD.org
|