1.\" $NetBSD: modload.8,v 1.49 2021/01/17 00:17:40 mrg Exp $ 2.\" 3.\" Copyright (c) 1993 Christopher G. Demetriou 4.\" All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in the 13.\" documentation and/or other materials provided with the distribution. 14.\" 3. All advertising materials mentioning features or use of this software 15.\" must display the following acknowledgement: 16.\" This product includes software developed for the 17.\" NetBSD Project. See http://www.NetBSD.org/ for 18.\" information about NetBSD. 19.\" 4. The name of the author may not be used to endorse or promote products 20.\" derived from this software without specific prior written permission. 21.\" 22.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 23.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 25.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 26.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 27.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 31.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32.\" 33.\" <<Id: LICENSE,v 1.2 2000/06/14 15:57:33 cgd Exp>> 34.\" 35.Dd November 13, 2020 36.Dt MODLOAD 8 37.Os 38.Sh NAME 39.Nm modload 40.Nd load a kernel module 41.Sh SYNOPSIS 42.Nm 43.Op Fl fP 44.Op Fl b Ar var=boolean 45.Op Fl i Ar var=integer 46.Op Fl s Ar var=string 47.Ar module 48.Nm 49.Fl p 50.Op Fl b Ar var=boolean 51.Op Fl d Ar var 52.Op Fl i Ar var=integer 53.Op Fl m Ar plist 54.Op Fl s Ar var=string 55.Sh DESCRIPTION 56The 57.Nm 58utility loads a kernel module specified by the 59.Ar module 60parameter into the running system. 61.Pp 62Modules are loaded from the default system module areas unless the 63.Ar module 64parameter contains a path separator character 65.Pq Sq / . 66.Pp 67The options to 68.Nm 69are as follows: 70.Bl -tag -width xbxvarxbooleanx 71.It Fl b Ar var=boolean 72Pass the module a boolean property with the name 73.Ar var . 74.Ar boolean 75may be either 76.Dv true 77or 78.Dv false . 79.It Fl d Ar var 80When used in conjunction with 81.Fl m , 82delete 83.Ar var 84from the 85.Ar plist 86specified. 87.It Fl f 88Force the module to be loaded. 89When a module is loaded, the kernel checks if the module is compatible 90with the running kernel and will refuse to load modules that are 91potentially incompatible. 92This option disables compatibility checks. 93.Em Note : 94an incompatible module can cause system instability, including data 95loss or corruption. 96.Pp 97This option is also required for re-enabling a builtin module that 98was disabled using 99.Xr modunload 8 . 100.It Fl i Ar var=integer 101Pass the module an integer property with the name 102.Ar var 103and integral value 104.Ar integer . 105.It Fl m Ar plist 106When used in conjunction with 107.Fl p , 108merge new options with an existing property list contained in 109.Ar plist . 110.It Fl P 111This option tells the kernel not to load an associated property list. 112.It Fl p 113Output a property list suitable for loading along with a module. 114When using this option, you do not need to specify a module. 115Use 116.Fl m 117and 118.Fl d 119to read and modify an existing property list. 120.It Fl s Ar var=string 121Pass the module a string property with the name 122.Ar var 123and string value 124.Ar string . 125.El 126.Sh DIAGNOSTICS 127The 128.Nm 129utility exits with a status of 0 on success 130and with a nonzero status if an error occurs. 131.Sh SEE ALSO 132.Xr modctl 2 , 133.Xr modules.conf 5 , 134.Xr module 7 , 135.Xr modstat 8 , 136.Xr modunload 8 137.Sh HISTORY 138A 139.Nm 140utility appeared in 141.Nx 0.9 . 142The 143.Nm 144command was designed to be similar in functionality 145to the corresponding command in 146.Tn "SunOS 4.1.3" . 147.Nm 148was switched to the kernel object linker module framework for 149.Nx 5.0 , 150derived from the same framework in 151.Fx . 152.Sh AUTHORS 153.An -nosplit 154The original 155.Nx 156implementation was written by 157.An Terrence R. Lambert Aq Mt terry@cs.weber.edu . 158The switch to the kernel object linker module framework was by 159.An Andrew Doran Aq Mt ad@NetBSD.org . 160