NetBSD/sbin/modload/modload.8

157 lines
4.4 KiB
Groff

.\" $NetBSD: modload.8,v 1.47 2017/07/18 19:50:54 wiz Exp $
.\"
.\" Copyright (c) 1993 Christopher G. Demetriou
.\" 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.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed for the
.\" NetBSD Project. See http://www.NetBSD.org/ for
.\" information about NetBSD.
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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.
.\"
.\" <<Id: LICENSE,v 1.2 2000/06/14 15:57:33 cgd Exp>>
.\"
.Dd July 18, 2017
.Dt MODLOAD 8
.Os
.Sh NAME
.Nm modload
.Nd load a kernel module
.Sh SYNOPSIS
.Nm
.Op Fl fP
.Op Fl b Ar var=boolean
.Op Fl i Ar var=integer
.Op Fl s Ar var=string
.Ar module
.Nm
.Fl p
.Op Fl b Ar var=boolean
.Op Fl d Ar var
.Op Fl i Ar var=integer
.Op Fl m Ar plist
.Op Fl s Ar var=string
.Sh DESCRIPTION
The
.Nm
utility loads a kernel module specified by the
.Ar module
parameter into the running system.
.Pp
Modules are loaded from the default system module areas unless the
.Ar module
parameter contains a path separator character
.Pq Sq / .
.Pp
The options to
.Nm
are as follows:
.Bl -tag -width xbxvarxbooleanx
.It Fl b Ar var=boolean
Pass the module a boolean property with the name
.Ar var .
.Ar boolean
may be either
.Dv true
or
.Dv false .
.It Fl d Ar var
When used in conjunction with
.Fl m ,
delete
.Ar var
from the
.Ar plist
specified.
.It Fl f
When a module is loaded, the kernel checks if the module is compatible
with the running kernel and will refuse to load modules that are
potentially incompatible.
This option disables compatibility checks.
.Em Note :
an incompatible module can cause system instability, including data
loss or corruption.
.Pp
This option is also required for re-enabling a builtin module that
was disabled using
.Xr modunload 8 .
.It Fl i Ar var=integer
Pass the module an integer property with the name
.Ar var
and integral value
.Ar integer .
.It Fl m Ar plist
When used in conjunction with
.Fl p ,
merge new options with an existing property list contained in
.Ar plist .
.It Fl P
This option tells the kernel not to load an associated property list.
.It Fl p
Output a property list suitable for loading along with a module.
When using this option, you do not need to specify a module.
Use
.Fl m
and
.Fl d
to read and modify an existing property list.
.It Fl s Ar var=string
Pass the module a string property with the name
.Ar var
and string value
.Ar string .
.El
.Sh DIAGNOSTICS
The
.Nm
utility exits with a status of 0 on success
and with a nonzero status if an error occurs.
.Sh SEE ALSO
.Xr modctl 2 ,
.Xr modules.conf 5 ,
.Xr module 7 ,
.Xr modstat 8 ,
.Xr modunload 8
.Sh HISTORY
A
.Nm
utility appeared in
.Nx 0.9 .
The
.Nm
command was designed to be similar in functionality
to the corresponding command in
.Tn "SunOS 4.1.3" .
.Nm
was switched to the module framework for
.Nx 5.0 .
.Sh AUTHORS
.An -nosplit
The original
.Nx
implementation was written by
.An Terrence R. Lambert Aq Mt terry@cs.weber.edu .
The switch to the module framework was by
.An Andrew Doran Aq Mt ad@NetBSD.org .