]> git.ipfire.org Git - thirdparty/kmod.git/blob - man/modprobe.xml
Phrasing correction in modprobe man page
[thirdparty/kmod.git] / man / modprobe.xml
1 <?xml version='1.0'?>
2 <!--*-nxml-*-->
3 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
4 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
5 <refentry id="modprobe">
6 <refentryinfo>
7 <title>modprobe</title>
8 <productname>kmod</productname>
9
10 <authorgroup>
11 <author>
12 <contrib>Developer</contrib>
13 <firstname>Jon</firstname>
14 <surname>Masters</surname>
15 <email>jcm@jonmasters.org</email>
16 </author>
17 <author>
18 <contrib>Developer</contrib>
19 <firstname>Robby</firstname>
20 <surname>Workman</surname>
21 <email>rworkman@slackware.com</email>
22 </author>
23 <author>
24 <contrib>Developer</contrib>
25 <firstname>Lucas</firstname>
26 <surname>De Marchi</surname>
27 <email>lucas.de.marchi@gmail.com</email>
28 </author>
29 </authorgroup>
30 </refentryinfo>
31
32 <refmeta>
33 <refentrytitle>modprobe</refentrytitle>
34 <manvolnum>8</manvolnum>
35 </refmeta>
36
37 <refnamediv>
38 <refname>modprobe</refname>
39 <refpurpose>Add and remove modules from the Linux Kernel</refpurpose>
40 </refnamediv>
41
42 <refsynopsisdiv>
43 <cmdsynopsis>
44 <command>modprobe</command>
45 <arg><option>-v</option></arg>
46 <arg><option>-V</option></arg>
47 <arg><option>-C <replaceable>config-file</replaceable></option></arg>
48 <arg><option>-n</option></arg>
49 <arg><option>-i</option></arg>
50 <arg><option>-q</option></arg>
51 <arg><option>-b</option></arg>
52 <arg><replaceable>modulename</replaceable></arg>
53 <arg rep='repeat'><option><replaceable>module parameters</replaceable></option></arg>
54 </cmdsynopsis>
55 <cmdsynopsis>
56 <command>modprobe</command>
57 <arg>-r</arg>
58 <arg><option>-v</option></arg>
59 <arg><option>-n</option></arg>
60 <arg><option>-i</option></arg>
61 <arg rep='repeat'><option><replaceable>modulename</replaceable></option></arg>
62 </cmdsynopsis>
63 <cmdsynopsis>
64 <command>modprobe</command>
65 <arg>-c</arg>
66 </cmdsynopsis>
67 <cmdsynopsis>
68 <command>modprobe</command>
69 <arg>--dump-modversions</arg> <arg><replaceable>filename</replaceable></arg>
70 </cmdsynopsis>
71 </refsynopsisdiv>
72 <refsect1>
73 <title>Description</title>
74
75 <para>
76 <command>modprobe</command> intelligently adds or removes a
77 module from the Linux kernel: note that for convenience, there
78 is no difference between _ and - in module names (automatic
79 underscore conversion is performed).
80 <command>modprobe</command> looks in the module directory
81 <filename>/lib/modules/`uname -r`</filename> for all
82 the modules and other files, except for the optional
83 configuration files in the
84 <filename>/etc/modprobe.d</filename> directory
85 (see <citerefentry>
86 <refentrytitle>modprobe.d</refentrytitle><manvolnum>5</manvolnum>
87 </citerefentry>). <command>modprobe</command> will also use module
88 options specified on the kernel command line in the form of
89 &lt;module&gt;.&lt;option&gt; and blacklists in the form of
90 modprobe.blacklist=&lt;module&gt;.
91 </para>
92 <para>
93 Note that unlike in 2.4 series Linux kernels (which are not supported
94 by this tool) this version of <command>modprobe</command> does not
95 do anything to the module itself: the work of resolving symbols
96 and understanding parameters is done inside the kernel. So
97 module failure is sometimes accompanied by a kernel message: see
98 <citerefentry>
99 <refentrytitle>dmesg</refentrytitle><manvolnum>8</manvolnum>
100 </citerefentry>.
101 </para>
102 <para>
103 <command>modprobe</command> expects an up-to-date
104 <filename>modules.dep.bin</filename> file as generated
105 by the corresponding <command>depmod</command> utility shipped
106 along with <command>modprobe</command> (see
107 <citerefentry><refentrytitle>depmod</refentrytitle><manvolnum>8</manvolnum>
108 </citerefentry>). This file lists what other modules each
109 module needs (if any), and <command>modprobe</command> uses this
110 to add or remove these dependencies automatically.
111 </para>
112 <para>
113 If any arguments are given after the
114 <replaceable>modulename</replaceable>, they are passed to the
115 kernel (in addition to any options listed in the configuration
116 file).
117 </para>
118 </refsect1>
119
120 <refsect1><title>OPTIONS</title>
121 <variablelist>
122 <varlistentry>
123 <term>
124 <option>-a</option>
125 </term>
126 <term>
127 <option>--all</option>
128 </term>
129 <listitem>
130 <para>Insert all module names on the command line.</para>
131 </listitem>
132 </varlistentry>
133 <varlistentry>
134 <term>
135 <option>-b</option>
136 </term>
137 <term>
138 <option>--use-blacklist</option>
139 </term>
140 <listitem>
141 <para>
142 This option causes <command>modprobe</command> to apply the
143 <command>blacklist</command> commands in the configuration files
144 (if any) to module names as well. It is usually used by
145 <citerefentry>
146 <refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum>
147 </citerefentry>.
148 </para>
149 </listitem>
150 </varlistentry>
151 <varlistentry>
152 <term>
153 <option>-C</option>
154 </term>
155 <term>
156 <option>--config</option>
157 </term>
158 <listitem>
159 <para>This option overrides the default configuration directory
160 (<filename>/etc/modprobe.d</filename>).
161 </para>
162 <para>
163 This option is passed through <command>install</command>
164 or <command>remove</command> commands to other
165 <command>modprobe</command> commands in the
166 MODPROBE_OPTIONS environment variable.
167 </para>
168 </listitem>
169 </varlistentry>
170 <varlistentry>
171 <term>
172 <option>-c</option>
173 </term>
174 <term>
175 <option>--showconfig</option>
176 </term>
177 <listitem>
178 <para>
179 Dump out the effective configuration from the config directory and
180 exit.
181 </para>
182 </listitem>
183 </varlistentry>
184 <varlistentry>
185 <term>
186 <option>--dump-modversions</option>
187 </term>
188 <listitem>
189 <para>
190 Print out a list of module versioning information required by a
191 module. This option is commonly used by distributions in order to
192 package up a Linux kernel module using module versioning deps.
193 </para>
194 </listitem>
195 </varlistentry>
196 <varlistentry>
197 <term>
198 <option>-d</option>
199 </term>
200 <term>
201 <option>--dirname</option>
202 </term>
203 <listitem>
204 <para>
205 Root directory for modules, <filename>/</filename> by default.
206 </para>
207 </listitem>
208 </varlistentry>
209 <varlistentry>
210 <term>
211 <option>--first-time</option>
212 </term>
213 <listitem>
214 <para>
215 Normally, <command>modprobe</command> will succeed (and do
216 nothing) if told to insert a module which is already
217 present or to remove a module which isn't present. This is
218 ideal for simple scripts; however, more complicated scripts often
219 want to know whether <command>modprobe</command> really
220 did something: this option makes modprobe fail in the
221 case that it actually didn't do anything.
222 </para>
223 </listitem>
224 </varlistentry>
225 <varlistentry>
226 <term>
227 <option>--force-vermagic</option>
228 </term>
229 <listitem>
230 <para>
231 Every module contains a small string containing important
232 information, such as the kernel and compiler versions. If a module
233 fails to load and the kernel complains that the "version magic"
234 doesn't match, you can use this option to remove it. Naturally,
235 this check is there for your protection, so using this option is
236 dangerous unless you know what you're doing.
237 </para>
238 <para>
239 This applies to any modules inserted: both the module (or alias) on
240 the command line and any modules on which it depends.
241 </para>
242 </listitem>
243 </varlistentry>
244 <varlistentry>
245 <term>
246 <option>--force-modversion</option>
247 </term>
248 <listitem>
249 <para>
250 When modules are compiled with CONFIG_MODVERSIONS set, a section
251 detailing the versions of every interfaced used by (or supplied by)
252 the module is created. If a module fails to load and the kernel
253 complains that the module disagrees about a version of some
254 interface, you can use "--force-modversion" to remove the version
255 information altogether. Naturally, this check is there for your
256 protection, so using this option is dangerous unless you know what
257 you're doing.
258 </para>
259 <para>
260 This applies any modules inserted: both the module (or alias) on
261 the command line and any modules on which it depends.
262 </para>
263 </listitem>
264 </varlistentry>
265 <varlistentry>
266 <term>
267 <option>-f</option>
268 </term>
269 <term>
270 <option>--force</option>
271 </term>
272 <listitem>
273 <para>
274 Try to strip any versioning information from the module which might
275 otherwise stop it from loading: this is the same as using both
276 <option>--force-vermagic</option> and
277 <option>--force-modversion</option>. Naturally, these checks are
278 there for your protection, so using this option is dangerous unless
279 you know what you are doing.
280 </para>
281 <para>
282 This applies to any modules inserted: both the module (or alias) on
283 the command line and any modules it on which it depends.
284 </para>
285 </listitem>
286 </varlistentry>
287 <varlistentry>
288 <term>
289 <option>-i</option>
290 </term>
291 <term>
292 <option>--ignore-install</option>
293 </term>
294 <term>
295 <option>--ignore-remove</option>
296 </term>
297 <listitem>
298 <para>
299 This option causes <command>modprobe</command> to ignore
300 <command>install</command> and <command>remove</command> commands
301 in the configuration file (if any) for the module specified on the
302 command line (any dependent modules are still subject to commands
303 set for them in the configuration file). Both
304 <command>install</command> and <command>remove</command> commands
305 will currently be ignored when this option is used regardless of
306 whether the request was more specifically made with only one or
307 other (and not both) of <option>--ignore-install</option> or
308 <option>--ignore-remove</option>. See <citerefentry>
309 <refentrytitle>modprobe.d</refentrytitle><manvolnum>5</manvolnum>
310 </citerefentry>.
311 </para>
312 </listitem>
313 </varlistentry>
314 <varlistentry>
315 <term>
316 <option>-n</option>
317 </term>
318 <term>
319 <option>--dry-run</option>
320 </term>
321 <term>
322 <option>--show</option>
323 </term>
324 <listitem>
325 <para>
326 This option does everything but actually insert or delete the
327 modules (or run the install or remove commands). Combined with
328 <option>-v</option>, it is useful for debugging problems. For
329 historical reasons both <option>--dry-run</option> and
330 <option>--show</option> actually mean the same thing and are
331 interchangeable.
332 </para>
333 </listitem>
334 </varlistentry>
335 <varlistentry>
336 <term>
337 <option>-q</option>
338 </term>
339 <term>
340 <option>--quiet</option>
341 </term>
342 <listitem>
343 <para>
344 With this flag, <command>modprobe</command> won't print an error
345 message if you try to remove or insert a module it can't find (and
346 isn't an alias or
347 <command>install</command>/<command>remove</command> command).
348 However, it will still return with a non-zero exit status. The
349 kernel uses this to opportunistically probe for modules which might
350 exist using request_module.
351 </para>
352 </listitem>
353 </varlistentry>
354 <varlistentry>
355 <term>
356 <option>-R</option>
357 </term>
358 <term>
359 <option>--resolve-alias</option>
360 </term>
361 <listitem>
362 <para>
363 Print all module names matching an alias. This can be useful for
364 debugging module alias problems.
365 </para>
366 </listitem>
367 </varlistentry>
368 <varlistentry>
369 <term>
370 <option>-r</option>
371 </term>
372 <term>
373 <option>--remove</option>
374 </term>
375 <listitem>
376 <para>
377 This option causes <command>modprobe</command> to remove rather
378 than insert a module. If the modules it depends on are also
379 unused, <command>modprobe</command> will try to remove them too.
380 Unlike insertion, more than one module can be specified on the
381 command line (it does not make sense to specify module parameters
382 when removing modules).
383 </para>
384 <para>
385 There is usually no reason to remove modules, but some buggy
386 modules require it. Your distribution kernel may not have been
387 built to support removal of modules at all.
388 </para>
389 </listitem>
390 </varlistentry>
391 <varlistentry>
392 <term>
393 <option>-S</option>
394 </term>
395 <term>
396 <option>--set-version</option>
397 </term>
398 <listitem>
399 <para>
400 Set the kernel version, rather than using
401 <citerefentry><refentrytitle>uname</refentrytitle><manvolnum>2</manvolnum></citerefentry>
402 to decide on the kernel version (which dictates where to find the
403 modules).
404 </para>
405 </listitem>
406 </varlistentry>
407 <varlistentry>
408 <term>
409 <option>--show-depends</option>
410 </term>
411 <listitem>
412 <para>
413 List the dependencies of a module (or alias), including the module
414 itself. This produces a (possibly empty) set of module filenames,
415 one per line, each starting with "insmod" and is typically used by
416 distributions to determine which modules to include when generating
417 initrd/initramfs images. <command>Install</command> commands which
418 apply are shown prefixed by "install". It does not run any of the
419 install commands. Note that
420 <citerefentry><refentrytitle>modinfo</refentrytitle><manvolnum>8</manvolnum></citerefentry>
421 can be used to extract dependencies of a module from the module
422 itself, but knows nothing of aliases or install commands.
423 </para>
424 </listitem>
425 </varlistentry>
426 <varlistentry>
427 <term>
428 <option>-s</option>
429 </term>
430 <term>
431 <option>--syslog</option>
432 </term>
433 <listitem>
434 <para>
435 This option causes any error messages to go through the syslog
436 mechanism (as LOG_DAEMON with level LOG_NOTICE) rather than to
437 standard error. This is also automatically enabled when stderr is
438 unavailable.
439 </para>
440 <para>
441 This option is passed through <command>install</command> or
442 <command>remove</command> commands to other
443 <command>modprobe</command> commands in the MODPROBE_OPTIONS
444 environment variable.
445 </para>
446 </listitem>
447 </varlistentry>
448 <varlistentry>
449 <term>
450 <option>-V</option>
451 </term>
452 <term>
453 <option>--version</option>
454 </term>
455 <listitem>
456 <para>Show version of program and exit.</para>
457 </listitem>
458 </varlistentry>
459 <varlistentry>
460 <term>
461 <option>-v</option>
462 </term>
463 <term>
464 <option>--verbose</option>
465 </term>
466 <listitem>
467 <para>
468 Print messages about what the program is doing. Usually
469 <command>modprobe</command> only prints messages if something goes
470 wrong.
471 </para>
472 <para>
473 This option is passed through <command>install</command> or
474 <command>remove</command> commands to other
475 <command>modprobe</command> commands in the MODPROBE_OPTIONS
476 environment variable.
477 </para>
478 </listitem>
479 </varlistentry>
480 </variablelist>
481 </refsect1>
482
483 <refsect1><title>ENVIRONMENT</title>
484 <para>
485 The MODPROBE_OPTIONS environment variable can also be used to pass
486 arguments to <command>modprobe</command>.
487 </para>
488 </refsect1>
489
490 <refsect1><title>COPYRIGHT</title>
491 <para>
492 This manual page originally Copyright 2002, Rusty Russell, IBM
493 Corporation. Maintained by Jon Masters and others.
494 </para>
495 </refsect1>
496
497 <refsect1>
498 <title>SEE ALSO</title>
499 <para>
500 <citerefentry>
501 <refentrytitle>modprobe.d</refentrytitle><manvolnum>5</manvolnum>
502 </citerefentry>,
503 <citerefentry>
504 <refentrytitle>insmod</refentrytitle><manvolnum>8</manvolnum>
505 </citerefentry>,
506 <citerefentry>
507 <refentrytitle>rmmod</refentrytitle><manvolnum>8</manvolnum>
508 </citerefentry>,
509 <citerefentry>
510 <refentrytitle>lsmod</refentrytitle><manvolnum>8</manvolnum>
511 </citerefentry>,
512 <citerefentry>
513 <refentrytitle>modinfo</refentrytitle><manvolnum>8</manvolnum>
514 </citerefentry>
515 <citerefentry>
516 <refentrytitle>depmod</refentrytitle><manvolnum>8</manvolnum>
517 </citerefentry>
518 </para>
519 </refsect1>
520 </refentry>