Penguin
Annotated edit history of modprobe(8) version 2, including all changes. View license author blame.
Rev Author # Line
1 perry 1 MODPROBE
2 !!!MODPROBE
3 NAME
4 SYNOPSIS
5 OPTIONS
6 DESCRIPTION
7 CONFIGURATION
8 STRATEGY
9 EXAMPLES
10 FILES
11 SEE ALSO
12 SAFE MODE
13 LOGGING COMMANDS
14 REQUIRED UTILITIES
15 NOTES
16 BUGS
17 AUTHOR
18 ----
19 !!NAME
20
21
22 modprobe - high level handling of loadable modules
23 !!SYNOPSIS
24
25
26 __modprobe__ [[-adnqv] [[-C ''config''] module
27 [[symbol=value ...]__
28 modprobe__ [[-adnqv] [[-C ''config''] [[-t ''type'']
29 pattern__
30 modprobe__ -l [[-C ''config''] [[-t ''type'']
31 pattern__
32 modprobe__ -c [[-C ''config'']__
33 modprobe__ -r [[-dnv] [[-C ''config''] [[module
34 ...]__
35 modprobe__ -Vh
36 !!OPTIONS
37
38
39 __-a__, __--all__
40
41
42 Load __all__ matching modules instead of stopping after
43 the first successful loading.
44
45
46 __-c__, __--showconfig__
47
48
49 Show the currently used configuration.
50
51
52 __-C__, __--config__ ''config''
53
54
55 Use the file ''config'' instead of (the optional)
56 ''/etc/modules.conf'' to specify the configuration. The
57 environment variable __MODULECONF__ can also be used to
58 select (and override) a different configuration file from
59 the default /etc/modules.conf (or ''/etc/conf.modules''
60 (deprecated)).
61
62
63 __-d__, __--debug__
64
65
66 Show information about the internal representation of the
67 stack of modules.
68
69
70 __-h__, __--help__
71
72
73 Display a summary of options and immediately
74 exit.
75
76
77 __-k__, __--autoclean__
78
79
80 Set 'autoclean' on loaded modules. Used by the kernel when
81 it calls on __modprobe__ to satisfy a missing feature
82 (supplied as a module). The __-q__ option is implied by
83 __-k__. These options will automatically be sent to
84 __insmod__.
85
86
87 __-l__, __--list__
88
89
90 List matching modules.
91
92
93 __-n__, __--show__
94
95
96 Don't actually perform the action, just show what would be
97 done.
98
99
100 __-q__, __--quiet__
101
102
103 Do not complain about __insmod__ failing to install a
104 module. Continue as normal, but silently, with other
105 possibilities for modprobe to test. This option will
106 automatically be sent to __insmod__.
107
108
109 __-r__, __--remove__
110
111
112 Remove module (stacks) or do autoclean, depending on whether
113 there are any modules mentioned on the command
114 line.
115
116
117 __-s__, __--syslog__
118
119
120 Report via syslog instead of stderr. This options will
121 automatically be sent to __insmod__.
122
123
124 __-t__ ''moduletype''; __--type__
125 ''moduletype''
126
127
128 Only consider modules of this type. modprobe will only look
129 at modules whose directory path includes exactly
130 /moduletype/''''moduletype'' can
131 include more than one directory name, e.g. ''-t__
132 ''drivers/net''
133 ''xxx/drivers/net/'' and its subdirectories.
134
135
136 __-v__, __--verbose__
137
138
139 Print all commands as they are executed.
140
141
142 __-V, --version__
143
144
145 Display the version of __modprobe__.
146
147
148 __Note:__
149
150
151 Module names must not contain paths (no '/'), nor may they
152 contain the trailing '.o'. For example, slip is a valid
153 module name for __modprobe__,
154 /lib/modules/2.2.19/net/slip and slip.o are invalid. This
155 applies to the command line and to entries in the
156 config.
157 !!DESCRIPTION
158
159
160 The __modprobe__ and __depmod__ utilities are intended
161 to make a Linux modular kernel more manageable for all
162 users, administrators and distribution
163 maintainers.
164
165
166 __Modprobe__ uses a
167 __depmod__, to automatically load the
168 relevant module(s) from the set of modules available in
169 predefined directory trees.
170
171
172 __Modprobe__ is used to load a single module, a stack of
173 dependent modules, or all modules that are marked with a
174 specified tag.
175
176
177 __Modprobe__ will automatically load all base modules
178 needed in a module stack, as described by the dependency
179 file ''modules.dep''. If the loading of one of these
180 modules fails, the whole current stack of modules loaded in
181 the current session will be unloaded
182 automatically.
183
184
185 __Modprobe__ has two ways of loading modules. One way
186 (the probe mode) will try to load a module out of a list
187 (defined by ''pattern''). __Modprobe__ stops loading
188 as soon as one module loads successfully. This could be used
189 to autoload one Ethernet driver out of a list.
190 The other way __modprobe__ can be used is to load
191 __all__ modules from a list. See __EXAMPLES__,
192 below.
193
194
195 With the option __-r__, modprobe will automatically
196 unload a stack of modules, similar to the way __rmmod
197 -r____modprobe
198 -r__
199 __/etc/modules.conf''.
200
201
202 The combining the options __-l__ and __-t__ lists all
203 available modules of a certain type.
204
205
206 Option __-c__ will print the currently used configuration
207 (default + configuration file).
208 !!CONFIGURATION
209
210
211 The behavior of __modprobe__ (and __depmod__) can be
212 modified by the (optional) configuration file
213 ''/etc/modules.conf''.
214 For a more detailed description of what this file can
215 contain, as well as the default configuration used by
216 __depmod__ and __modprobe__, see
2 perry 217 modules.conf(5).
1 perry 218
219
220 Note that the pre- and post-remove commands will __not__
221 be executed if a module is
222 __
223 If you want to use the pre- and post-install features, you
224 will have to turn off autoclean for kerneld and instead put
225 something like the following line in your __crontab__
226 (this is used for kmod systems as well) to do autoclean
227 every 2 minutes:
228 */2 * * * * test -f /proc/modules
229 !!STRATEGY
230
231
232 The idea is that __modprobe__ will look first in the
233 directory containing modules compiled for the current
234 release of the kernel. If the module is not found there,
235 __modprobe__ will look in the directory common to the
236 kernel version (e.g. 2.0, 2.2). If the module is still
237 found, __modprobe__ will look in the directory containing
238 modules for a default release, and so on.
239
240
241 When you install a new linux, the modules should be moved to
242 a directory related to the release (and version) of the
243 kernel you are installing. Then you should do a symlink from
244 this directory to the
245
246
247 Each time you compile a new kernel, the command
248 make modules_install__
249 __
250
251
252 When you get a module unrelated to the kernel distribution
253 you should place it in one of the version-independent
254 directories under ''/lib/modules''.
255
256
257 This is the default strategy, which can be overridden in
258 ''/etc/modules.conf''.
259 !!EXAMPLES
260
261
262 __modprobe -t net__
263
264
265 Load one of the modules that are stored in the directory
266 tagged
267
268
269 __modprobe -a -t boot__
270
271
272 All modules that are stored in directories tagged
273
274
275 __modprobe slip__
276
277
278 This will attempt to load the module slhc.o if it was not
279 previously loaded, since the slip module needs the
280 functionality in the slhc module. This dependency will be
281 described in the file ''modules.dep'' that was created
282 automatically by __depmod__.
283
284
285 __modprobe -r slip__
286
287
288 This will unload the slip module. It will also unload the
289 slhc module automatically, unless it is used by some other
290 module as well (e.g. ppp).
291 !!FILES
292
293
294 ''/etc/modules.conf'' (alternatively but deprecated ''/etc/conf.modules'')
295 ''/lib/modules/*/modules.dep'',
296 ''/lib/modules/*
297 ''
298 !!SEE ALSO
299
300
301 depmod(8), lsmod(8), kerneld(8),
302 ksyms(8), rmmod(8).
303 !!SAFE MODE
304
305
306 If the effective uid is not equal to the real uid then
307 __modprobe__ treats its input with extreme suspicion. The
308 last parameter is always treated as a module name, even if
309 it starts with '-'. There can only be one module name and
310 options of the form
311 __
312
313
314 euid may not be equal to uid when modprobe is invoked from
315 the kernel, this is true for kernels
316 modprobe__ could trust the kernel to
317 only pass valid parameters to modprobe. However at least one
318 local root exploit has occurred because high level kernel
319 code passed unverified parameters direct from the user to
320 modprobe. So modprobe no longer trusts kernel
321 input.
322
323
324 __modprobe__ automatically sets safe mode when the
325 environment consists only of these strings
326
327
328 HOME=/
329 TERM=linux
330 PATH=/sbin:/usr/sbin:/bin:/usr/bin
331 This detects modprobe execution from the kernel on kernels 2.2 though 2.4.0-test11, even if uid == euid, which it does on the earlier kernels.
332 !!LOGGING COMMANDS
333
334
335 If directory ''/var/log/ksymoops'' exists and
336 __modprobe__ is run with an option that could load or a
337 delete a module then modprobe will log its command and
338 return status in ''/var/log/ksymoops/`date
339 +%Y%m%d.log`''. There is no switch to disable this
340 automatic logging, if you do not want it to occur, do not
341 create ''/var/log/ksymoops''. If that directory exists,
342 it should be owned by root and be mode 644 or 600 and you
343 should run script __insmod_ksymoops_clean__ every day or
344 so.
345 !!REQUIRED UTILITIES
346
347
348 depmod(8), insmod(8).
349 !!NOTES
350
351
352 Patterns supplied to __modprobe__ will often need to be
353 escaped to ensure that it is evaluated in the proper
354 context.
355 !!BUGS
356
357
358 __modprobe__ [[ __-V__ | __--version__ ] should exit
359 immediately. Instead, it prints the version information and
360 behaves as if no options were given.
361 !!AUTHOR
362
363
364 Jacques Gelinas (jack@solucorp.qc.ca)
365 Bjorn Ekwall (bj0rn@blox.se)
366 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.