version 1, including all changes.
.
Rev |
Author |
# |
Line |
1 |
perry |
1 |
MODULES.CONF |
|
|
2 |
!!!MODULES.CONF |
|
|
3 |
NAME |
|
|
4 |
DESCRIPTION |
|
|
5 |
SEMANTICS |
|
|
6 |
SYNTAX |
|
|
7 |
DEFAULT CONFIGURATION |
|
|
8 |
ALTERNATIVE CONFIGURATION FILE |
|
|
9 |
SEE ALSO |
|
|
10 |
AUTHOR |
|
|
11 |
---- |
|
|
12 |
!!NAME |
|
|
13 |
|
|
|
14 |
|
|
|
15 |
modules.conf - configuration file for loading kernel modules |
|
|
16 |
!!DESCRIPTION |
|
|
17 |
|
|
|
18 |
|
|
|
19 |
The behavior of __modprobe(8)__ (and __depmod(8)__ ) |
|
|
20 |
can be modified by the (optional) configuration file |
|
|
21 |
__/etc/modules.conf.__ |
|
|
22 |
|
|
|
23 |
|
|
|
24 |
The configuration file consists of a set of lines. |
|
|
25 |
All empty lines, and all text on a line after a '#', will be |
|
|
26 |
ignored. |
|
|
27 |
Lines may be continued by ending the line with a ''. |
|
|
28 |
The remaining lines should all conform to one of the |
|
|
29 |
following formats: |
|
|
30 |
|
|
|
31 |
|
|
|
32 |
[[add] above module module_list |
|
|
33 |
alias alias_name result |
|
|
34 |
[[add] below module module_list |
|
|
35 |
define VARIABLE WORD |
|
|
36 |
depfile=A_PATH |
|
|
37 |
else |
|
|
38 |
elseif EXPRESSION |
|
|
39 |
endif |
|
|
40 |
if EXPRESSION |
|
|
41 |
include PATH_TO_CONFIG_FILE |
|
|
42 |
insmod_opt=GENERIC_OPTIONS_TO_INSMOD |
|
|
43 |
install module command ... |
|
|
44 |
keep |
|
|
45 |
[[add] options module MODULE_SPECIFIC_OPTIONS |
|
|
46 |
path=A_PATH |
|
|
47 |
path[[TAG]=A_PATH |
|
|
48 |
generic_stringfile=A_PATH |
|
|
49 |
pcimapfile=A_PATH |
|
|
50 |
isapnpmapfile=A_PATH |
|
|
51 |
usbmapfile=A_PATH |
|
|
52 |
parportmapfile=A_PATH |
|
|
53 |
ieee1394mapfile=A_PATH |
|
|
54 |
pnpbiosmapfile=A_PATH |
|
|
55 |
[[add] probe name module_list |
|
|
56 |
[[add] probeall name module_list |
|
|
57 |
prune filename |
|
|
58 |
post-install module command ... |
|
|
59 |
post-remove module command ... |
|
|
60 |
pre-install module command ... |
|
|
61 |
pre-remove module command ... |
|
|
62 |
remove module command ... |
|
|
63 |
persistdir directory_name |
|
|
64 |
All arguments to a directive will be processed to handle shell meta-characters, which means that |
|
|
65 |
|
|
|
66 |
|
|
|
67 |
path[[misc]=/lib/modules/1.1.5?/local |
|
|
68 |
path[[net]=/lib/modules/`uname -r`/net |
|
|
69 |
__DANGER:__ Applying shell expansion to user supplied input is a major security risk. Modutils code only does meta expansion via shell commands for trusted data. Basically this means only for data in the config file. Even that assumes that the user cannot run modprobe as root while supplying their own config file. Programs (including the kernel) that invoke modutils programs as root with user supplied input must pass exactly one user supplied parameter and must set safe mode or risk creating local root exploits. See ''modprobe'' for details on safe mode. |
|
|
70 |
|
|
|
71 |
|
|
|
72 |
Directives may be repeated multiple times. Note that some |
|
|
73 |
directives can have an optional prefix: ''add.'' When |
|
|
74 |
this prefix is used, the new module_list will be |
|
|
75 |
__added__ to the previous module_list instead of |
|
|
76 |
replacing it. |
|
|
77 |
!!SEMANTICS |
|
|
78 |
|
|
|
79 |
|
|
|
80 |
__A_PATH__ is the fully qualified path to the target. It |
|
|
81 |
is possible to use shell meta-characters in __A_PATH__ |
|
|
82 |
including command output, such as ''uname -r'' and |
|
|
83 |
''kernelversion.'' |
|
|
84 |
These two commands are also understood internally in these |
|
|
85 |
utilities as meaning the version number of the current |
|
|
86 |
kernel and the current kernel version respectively (e.g.: |
|
|
87 |
2.2.3 and 2.2). |
|
|
88 |
|
|
|
89 |
|
|
|
90 |
__WORD__ is a sequence if non-white characters. If ' |
|
|
91 |
__WORD__ will then be expanded w.r.t. |
|
|
92 |
meta-characters. If the expanded result gives more than one |
|
|
93 |
word then only the first word of the result will be |
|
|
94 |
used. |
|
|
95 |
|
|
|
96 |
|
|
|
97 |
EXPRESSION below can be: |
|
|
98 |
|
|
|
99 |
|
|
|
100 |
''WORD compare_op WORD'' |
|
|
101 |
|
|
|
102 |
|
|
|
103 |
where compare_op is one of ==, !=, |
|
|
104 |
|
|
|
105 |
|
|
|
106 |
''-n WORD compare_op WORD'' |
|
|
107 |
|
|
|
108 |
|
|
|
109 |
where compare_op is one of ==, !=, |
|
|
110 |
|
|
|
111 |
|
|
|
112 |
''WORD'' |
|
|
113 |
|
|
|
114 |
|
|
|
115 |
If the expansion of WORD fails, or if the expansion is |
|
|
116 |
|
|
|
117 |
|
|
|
118 |
''-f FILENAME'' |
|
|
119 |
|
|
|
120 |
|
|
|
121 |
Test if the file FILENAME exists. |
|
|
122 |
|
|
|
123 |
|
|
|
124 |
''-k'' |
|
|
125 |
|
|
|
126 |
|
|
|
127 |
Test if |
|
|
128 |
|
|
|
129 |
|
|
|
130 |
''! EXPRESSION'' |
|
|
131 |
|
|
|
132 |
|
|
|
133 |
A negated expression is also an expression. |
|
|
134 |
!!SYNTAX |
|
|
135 |
|
|
|
136 |
|
|
|
137 |
This is a description of the legal directives. |
|
|
138 |
|
|
|
139 |
|
|
|
140 |
''define VARIABLE WORD'' |
|
|
141 |
|
|
|
142 |
|
|
|
143 |
Do a ''putenv('' Variables can |
|
|
144 |
be created and modified by this directive. The variables |
|
|
145 |
will be available in the environment, which makes them |
|
|
146 |
usable for all commands executed in the current |
|
|
147 |
session. |
|
|
148 |
|
|
|
149 |
|
|
|
150 |
''depfile=A_PATH'' |
|
|
151 |
|
|
|
152 |
|
|
|
153 |
This is the path to the dependency file that will be created |
|
|
154 |
by __depmod__ and used by __modprobe__ to find the |
|
|
155 |
modules and their dependent modules. Normally the default |
|
|
156 |
value should be used, see below. |
|
|
157 |
|
|
|
158 |
|
|
|
159 |
''if EXPRESSION'' |
|
|
160 |
|
|
|
161 |
|
|
|
162 |
If the expression is evaluated to be __TRUE__ then all |
|
|
163 |
directives up to the matching ''else, elseif'' or |
|
|
164 |
''endif'' are processed. Otherwise they are ignored. |
|
|
165 |
''if'' directives may be nested up to an internal maximum |
|
|
166 |
of 20. |
|
|
167 |
Note: please avoid having any __path__ directives |
|
|
168 |
conditionally processed. Since __modprobe__ has enough |
|
|
169 |
built-in |
|
|
170 |
__path__ directive will gain you nothing but confusion. |
|
|
171 |
Really. |
|
|
172 |
|
|
|
173 |
|
|
|
174 |
''else'' |
|
|
175 |
|
|
|
176 |
|
|
|
177 |
If the previous matching ''if'' or ''elseif'' |
|
|
178 |
directive evaluated its expression to be __FALSE__ then |
|
|
179 |
the directives enclosed by the (optional) ''else'' |
|
|
180 |
directive and its matching ''endif'' directive will be |
|
|
181 |
processed. |
|
|
182 |
|
|
|
183 |
|
|
|
184 |
''elseif EXPRESSION'' |
|
|
185 |
|
|
|
186 |
|
|
|
187 |
If the previous matching ''if'' or ''elseif'' |
|
|
188 |
directives evaluated their expression to be __FALSE__ and |
|
|
189 |
if the expression for this directive evaluates to |
|
|
190 |
__TRUE__ then the directives up to the next matching |
|
|
191 |
''elseif, else'' or ''endif'' directive will be |
|
|
192 |
processed. |
|
|
193 |
|
|
|
194 |
|
|
|
195 |
''endif'' |
|
|
196 |
|
|
|
197 |
|
|
|
198 |
This directive ends the chain of matching ''if, elseif'' |
|
|
199 |
or ''else'' directive(s) controlling the conditional |
|
|
200 |
processing of configuration file directives. |
|
|
201 |
|
|
|
202 |
|
|
|
203 |
if EXPRESSION |
|
|
204 |
any config lines |
|
|
205 |
elseif EXPRESSION |
|
|
206 |
any config lines |
|
|
207 |
else |
|
|
208 |
any config lines |
|
|
209 |
endif |
|
|
210 |
The ''else'' and ''elseif'' directives are optional. |
|
|
211 |
|
|
|
212 |
|
|
|
213 |
''include PATH_TO_CONFIG_FILE'' |
|
|
214 |
|
|
|
215 |
|
|
|
216 |
To handle different platforms or configurations with a |
|
|
217 |
single configuration file can be quite complex. With the use |
|
|
218 |
of the ''include'' directive, conditionally processed by |
|
|
219 |
''if'' directives, this is now easier to |
|
|
220 |
handle. |
|
|
221 |
|
|
|
222 |
|
|
|
223 |
''insmod_opt=GENERIC_OPTIONS_TO_INSMOD'' |
|
|
224 |
|
|
|
225 |
|
|
|
226 |
If insmod should need some special options, not specified |
|
|
227 |
elsewhere, this directive makes it possible to add such an |
|
|
228 |
option, to be used for every invocation. The standard |
|
|
229 |
default options to insmod does normally not have to be |
|
|
230 |
modified unless some special situation needs to be |
|
|
231 |
handled. |
|
|
232 |
|
|
|
233 |
|
|
|
234 |
''keep'' |
|
|
235 |
|
|
|
236 |
|
|
|
237 |
If this word is found on a line __before__ any lines that |
|
|
238 |
contain the __path__ descriptions, the default set of |
|
|
239 |
paths will be saved, and thus added to. Otherwise the normal |
|
|
240 |
behavior is that the default set will be __replaced__ by |
|
|
241 |
the set of paths in the configuration file. |
|
|
242 |
|
|
|
243 |
|
|
|
244 |
''path=A_PATH'' |
|
|
245 |
|
|
|
246 |
|
|
|
247 |
''path[[TAG]=A_PATH'' |
|
|
248 |
|
|
|
249 |
|
|
|
250 |
The __A_PATH__ argument specifies an additional directory |
|
|
251 |
to search for modules. The __path__ directive can carry |
|
|
252 |
an optional tag. This tells us a little more about the |
|
|
253 |
purpose of the modules in this directory and allows some |
|
|
254 |
automated operations by __modprobe.__ The tag is appended |
|
|
255 |
to the |
|
|
256 |
__ |
|
|
257 |
One very useful tag is __boot,__ which can be used to |
|
|
258 |
mark all directories containing modules that should be |
|
|
259 |
loaded at boot-time. |
|
|
260 |
Note that you must specify the __keep__ directive to |
|
|
261 |
prevent any __path__ directives from over-riding the |
|
|
262 |
default paths. |
|
|
263 |
|
|
|
264 |
|
|
|
265 |
''generic_stringfile=A_PATH'' |
|
|
266 |
|
|
|
267 |
|
|
|
268 |
This is the path to the generic_string file that will be |
|
|
269 |
created by __depmod__ and used by install scripts that |
|
|
270 |
need string information from modules. Normally the default |
|
|
271 |
value should be used, see below. ''pcimapfile=A_PATH'' |
|
|
272 |
This is the path to the pcimap file that will be created by |
|
|
273 |
__depmod__ and used by install scripts to find the module |
|
|
274 |
that supports a pci device. Normally the default value |
|
|
275 |
should be used, see below. |
|
|
276 |
|
|
|
277 |
|
|
|
278 |
''isapnpmapfile=A_PATH'' |
|
|
279 |
|
|
|
280 |
|
|
|
281 |
This is the path to the isapnpmap file that will be created |
|
|
282 |
by __depmod__ and used by install scripts to find the |
|
|
283 |
module that supports an ISA PNP device. Normally the default |
|
|
284 |
value should be used, see below. |
|
|
285 |
|
|
|
286 |
|
|
|
287 |
''usbmapfile=A_PATH'' |
|
|
288 |
|
|
|
289 |
|
|
|
290 |
This is the path to the usbmap file that will be created by |
|
|
291 |
__depmod__ and used by install scripts to find the module |
|
|
292 |
that supports an USB device. Normally the default value |
|
|
293 |
should be used, see below. |
|
|
294 |
|
|
|
295 |
|
|
|
296 |
''parportmapfile=A_PATH'' |
|
|
297 |
|
|
|
298 |
|
|
|
299 |
This is the path to the parportmap file that will be created |
|
|
300 |
by __depmod__ and used by install scripts to find the |
|
|
301 |
module that supports an parport device. Normally the default |
|
|
302 |
value should be used, see below. |
|
|
303 |
|
|
|
304 |
|
|
|
305 |
''ieee1394mapfile=A_PATH'' |
|
|
306 |
|
|
|
307 |
|
|
|
308 |
This is the path to the ieee1394map file that will be |
|
|
309 |
created by __depmod__ and used by install scripts to find |
|
|
310 |
the module that supports an ieee1394 device. Normally the |
|
|
311 |
default value should be used, see below. |
|
|
312 |
|
|
|
313 |
|
|
|
314 |
''pnpbiosmapfile=A_PATH'' |
|
|
315 |
|
|
|
316 |
|
|
|
317 |
This is the path to the pnpbiosmap file that will be created |
|
|
318 |
by __depmod__ and used by install scripts to find the |
|
|
319 |
module that supports an pnpbios device. Normally the default |
|
|
320 |
value should be used, see below. |
|
|
321 |
|
|
|
322 |
|
|
|
323 |
''alias alias_name result'' |
|
|
324 |
|
|
|
325 |
|
|
|
326 |
The |
|
|
327 |
|
|
|
328 |
|
|
|
329 |
alias iso9660 isofs |
|
|
330 |
makes it possible to write __modprobe iso9660__ although there is no object file for such a module available. |
|
|
331 |
Note that the line: |
|
|
332 |
|
|
|
333 |
|
|
|
334 |
alias some_module off |
|
|
335 |
will make modprobe ignore requests to load that module. Another special alias is: |
|
|
336 |
|
|
|
337 |
|
|
|
338 |
alias some_module null |
|
|
339 |
which will make requests for some_module always succeed, but no module will actually be installed. This can be used as a base for stacks created via the ''above'' and ''below'' directives. |
|
|
340 |
|
|
|
341 |
|
|
|
342 |
It is possible to have a large number of levels of ''alias'' directives, since all aliases will be recursively expanded in order to find the physical module actually referred to. There is an arbitrary limit of 1000 on alias depth to detect loops like: |
|
|
343 |
|
|
|
344 |
|
|
|
345 |
alias a b |
|
|
346 |
alias b a |
|
|
347 |
If the final result of an ''alias'' mapping does not match the name of any module then modprobe applies probe and probeall mappings to the result. If those do not succeed then the module is not found. This makes constructs like this give sensible results (from devfs). |
|
|
348 |
|
|
|
349 |
|
|
|
350 |
alias /dev/sg* /dev/sg |
|
|
351 |
probeall /dev/sg scsi-hosts sg |
|
|
352 |
It is legal for an alias to map module A to module B and for module A to exist at the same time but this construct is ambiguous and is __not__ recommended. For historical reasons, the kernel sound system has a module called sound.o but the sound developers also want an alias from sound to the module for the user's sound card, e.g. __ |
|
|
353 |
|
|
|
354 |
|
|
|
355 |
''[[add] probe name module_list'' |
|
|
356 |
|
|
|
357 |
|
|
|
358 |
''[[add] probeall name module_list'' |
|
|
359 |
|
|
|
360 |
|
|
|
361 |
These directives can only be used when ''name'' is the |
|
|
362 |
name of the module requested on the command line of |
|
|
363 |
__modprobe.__ The effect is that when a request for |
|
|
364 |
''name'' is made, the modules in module_list will be |
|
|
365 |
tried, in the specified order. The difference between the |
|
|
366 |
directives is that ''probe'' will continue until the |
|
|
367 |
first successful module insertion, while ''probeall'' |
|
|
368 |
will continue until the end of the list. The exit status |
|
|
369 |
reflects whether any module has been successfully installed |
|
|
370 |
or not. The optional ''add'' prefix adds the new list to |
|
|
371 |
the previous list instead of replacing it. |
|
|
372 |
|
|
|
373 |
|
|
|
374 |
''prune filename'' |
|
|
375 |
|
|
|
376 |
|
|
|
377 |
The top level module directory for a kernel install contains |
|
|
378 |
files which are not modules. These include modules.dep, |
|
|
379 |
modules.generic_string, modules.pcimap, modules.isapnpmap, |
|
|
380 |
modules.usbmap, modules.parportmap, modules.ieee1394map, |
|
|
381 |
modules.pnpbiosmap, the build symlink to the kernel source |
|
|
382 |
tree and any other files that the install process wants to |
|
|
383 |
save from a kernel build. To prevent __depmod__ issuing |
|
|
384 |
warnings about |
|
|
385 |
__depmod__ has a |
|
|
386 |
built in prune list which cannot be removed because it lists |
|
|
387 |
files which will exist for any kernel build. If you add your |
|
|
388 |
own files to the top level modules directory, add a |
|
|
389 |
''prune'' statement for each ''filename''. |
|
|
390 |
__Note:__ The prune list is only used when scanning the |
|
|
391 |
top directory of a ''path'', and only if the directory |
|
|
392 |
contains at least one subdirectory from the standard list of |
|
|
393 |
subdirectory names, i.e. it appears to be a top level |
|
|
394 |
directory built from a kernel install. The ''prune'' list |
|
|
395 |
has no effect on subdirectories of a |
|
|
396 |
''path''. |
|
|
397 |
|
|
|
398 |
|
|
|
399 |
''[[add] options [[-k] module |
|
|
400 |
[[MODULE_SPECIFIC_OPTIONS]'' |
|
|
401 |
|
|
|
402 |
|
|
|
403 |
All module names, including aliased names, can have their |
|
|
404 |
own ''options'' directives. Options specified for an |
|
|
405 |
alias have higher priority than the options specified for |
|
|
406 |
more |
|
|
407 |
''options'' directives. Options given on the |
|
|
408 |
command line have the highest priority. If there is |
|
|
409 |
''-k'' before the module name, then the module won't be |
|
|
410 |
autocleaned even if __modprobe__ has been invoked with |
|
|
411 |
the ''-k'' autoclean option. The optional ''add'' |
|
|
412 |
prefix adds the new list to the previous list instead of |
|
|
413 |
replacing it. If the result of an ''alias'' is not a real |
|
|
414 |
module then any ''options'' that were constructed from |
|
|
415 |
the ''alias'' chain are discarded before invoking |
|
|
416 |
probe[[all]. If any of the ''MODULE_SPECIFIC_OPTIONS'' |
|
|
417 |
contain characters that are special to the shell (e.g. |
|
|
418 |
space, comma, parentheses) then the option must be enclosed |
|
|
419 |
in ' |
|
|
420 |
'' |
|
|
421 |
|
|
|
422 |
|
|
|
423 |
abc=' |
|
|
424 |
|
|
|
425 |
|
|
|
426 |
''[[add] above module module_list'' |
|
|
427 |
|
|
|
428 |
|
|
|
429 |
This directive makes it possible for one module to |
|
|
430 |
lsmod(8)__ command. The ''above'' directive is |
|
|
431 |
useful for those circumstances when the dependencies are |
|
|
432 |
more complex than what can be described in the |
|
|
433 |
__modules.dep__ dependency file. This is an optimized |
|
|
434 |
case of the ''post-install'' and ''pre-remove'' |
|
|
435 |
directives. Note that failure of installing the module will |
|
|
436 |
not influence the exit status of __modprobe.__ The |
|
|
437 |
optional ''add'' prefix adds the new list to the previous |
|
|
438 |
list instead of replacing it. |
|
|
439 |
|
|
|
440 |
|
|
|
441 |
''[[add] below module module_list'' |
|
|
442 |
|
|
|
443 |
|
|
|
444 |
This directive makes it possible for one module to |
|
|
445 |
lsmod(8)__ |
|
|
446 |
command. The ''below'' directive is useful for those |
|
|
447 |
circumstances when the dependencies are more complex than |
|
|
448 |
what can be described in the __modules.dep__ dependency |
|
|
449 |
file. This is an optimized case of the ''pre-install'' |
|
|
450 |
and ''post-remove'' directives. Note that failure of |
|
|
451 |
installing the module will not influence the exit status of |
|
|
452 |
__modprobe.__ The optional ''add'' prefix adds the new |
|
|
453 |
list to the previous list instead of replacing |
|
|
454 |
it. |
|
|
455 |
|
|
|
456 |
|
|
|
457 |
The following directives are useful for (optionally) |
|
|
458 |
executing specific commands when loading and unloading a |
|
|
459 |
module. Note that even aliased module names can have these |
|
|
460 |
directives, which will be executed in the proper order |
|
|
461 |
together with any directives for the unaliased module |
|
|
462 |
name. |
|
|
463 |
|
|
|
464 |
|
|
|
465 |
''pre-install module command'' |
|
|
466 |
|
|
|
467 |
|
|
|
468 |
Execute ''command'' before installing the specified |
|
|
469 |
module. See the ''below'' directive as well. |
|
|
470 |
|
|
|
471 |
|
|
|
472 |
''install module command'' |
|
|
473 |
|
|
|
474 |
|
|
|
475 |
Execute ''command'' instead of the default __insmod__ |
|
|
476 |
when installing the specified module. |
|
|
477 |
|
|
|
478 |
|
|
|
479 |
''post-install module command'' |
|
|
480 |
|
|
|
481 |
|
|
|
482 |
Execute ''command'' after installing the specified |
|
|
483 |
module. See the ''above'' directive as well. |
|
|
484 |
|
|
|
485 |
|
|
|
486 |
''pre-remove module command'' |
|
|
487 |
|
|
|
488 |
|
|
|
489 |
Execute ''command'' before removing the specified module. |
|
|
490 |
See the ''above'' directive as well. |
|
|
491 |
|
|
|
492 |
|
|
|
493 |
''remove module command'' |
|
|
494 |
|
|
|
495 |
|
|
|
496 |
Execute ''command'' instead of the default (built-in) |
|
|
497 |
__rmmod__ when removing the specified |
|
|
498 |
module. |
|
|
499 |
|
|
|
500 |
|
|
|
501 |
''post-remove module command'' |
|
|
502 |
|
|
|
503 |
|
|
|
504 |
Execute ''command'' after removing the specified module. |
|
|
505 |
See the ''below'' directive as well. |
|
|
506 |
|
|
|
507 |
|
|
|
508 |
''persistdir''=directory_name |
|
|
509 |
|
|
|
510 |
|
|
|
511 |
When __rmmod__ removes a module that contains persistent |
|
|
512 |
module parameters, it stores the (possibly) modified |
|
|
513 |
parameters underneath ''directory_name''. When |
|
|
514 |
__modprobe__ loads a module that contains persistent |
|
|
515 |
module parameters, it looks under ''directory_name'' for |
|
|
516 |
any previous values for those parameters. You must set |
|
|
517 |
''persistdir'' to the name of a directory that is |
|
|
518 |
readable when modules are loaded and is writable when |
|
|
519 |
modules are unloaded, the default value is |
|
|
520 |
/var/lib/modules/persist. Many Linux distributions load |
|
|
521 |
their modules before mounting filesystems, this can cause |
|
|
522 |
problems for persistent data. If /var is a separate |
|
|
523 |
partition and it is mounted after modules are loaded then |
|
|
524 |
__insmod__ has nowhere to read persistent data from. You |
|
|
525 |
have two choices when /var is on a separate |
|
|
526 |
partition. |
|
|
527 |
|
|
|
528 |
|
|
|
529 |
1) Specify ''persistdir'' pointing at a directory in the |
|
|
530 |
root partition, say /lib/modules/persist. This assumes that |
|
|
531 |
the root partition is writable when __rmmod__ |
|
|
532 |
runs. |
|
|
533 |
|
|
|
534 |
|
|
|
535 |
2) Load any filesystem related modules first, mount the /var |
|
|
536 |
partition then load the rest of the modules. This assumes |
|
|
537 |
that the filesystem modules have no persistent |
|
|
538 |
data. |
|
|
539 |
!!DEFAULT CONFIGURATION |
|
|
540 |
|
|
|
541 |
|
|
|
542 |
If the configuration file '/etc/modules.conf' is missing, or |
|
|
543 |
if any directive is not overridden, the following defaults |
|
|
544 |
are assumed: |
|
|
545 |
|
|
|
546 |
|
|
|
547 |
depfile=/lib/modules/`uname -r`/modules.dep |
|
|
548 |
generic_stringfile=/lib/modules/`uname |
|
|
549 |
-r`/modules.generic_string pcimapfile=/lib/modules/`uname |
|
|
550 |
-r`/modules.pcimap isapnpmapfile=/lib/modules/`uname |
|
|
551 |
-r`/modules.isapnpmap usbmapfile=/lib/modules/`uname |
|
|
552 |
-r`/modules.usbmap parportmapfile=/lib/modules/`uname |
|
|
553 |
-r`/modules.parportmap ieee1394mapfile=/lib/modules/`uname |
|
|
554 |
-r`/modules.ieee1394map pnpbiosmapfile=/lib/modules/`uname |
|
|
555 |
-r`/modules.pnpbiosmap |
|
|
556 |
|
|
|
557 |
|
|
|
558 |
path[[boot]=/lib/modules/boot |
|
|
559 |
path[[toplevel]=/lib/modules/`uname -r` |
|
|
560 |
path[[toplevel]=/lib/modules/`kernelversion` |
|
|
561 |
path[[toplevel]=/lib/modules/default |
|
|
562 |
path[[toplevel]=/lib/modules |
|
|
563 |
|
|
|
564 |
|
|
|
565 |
persistdir=/var/lib/modules/persist |
|
|
566 |
|
|
|
567 |
|
|
|
568 |
There are also a set of default ''alias'' and |
|
|
569 |
''options'' directives. Since this set is continuously |
|
|
570 |
extended, no list will be given here. The (current) default |
|
|
571 |
set can be viewed by using the __modprobe -c__ command |
|
|
572 |
with an empty __/etc/modules.conf__ file. |
|
|
573 |
|
|
|
574 |
|
|
|
575 |
All ''options'' directives specify the options needed for |
|
|
576 |
a module, as in: |
|
|
577 |
|
|
|
578 |
|
|
|
579 |
modprobe de620 bnc=1 |
|
|
580 |
These options will be overridden by any options given in the __/etc/modules.conf__ file, and on the __modprobe__ command line. |
|
|
581 |
|
|
|
582 |
|
|
|
583 |
Remember that it is possible to have an ''options'' |
|
|
584 |
directive for aliased module names as well as for the |
|
|
585 |
non-aliased name. This is useful for e.g. the dummy |
|
|
586 |
module: |
|
|
587 |
|
|
|
588 |
|
|
|
589 |
alias dummy0 dummy |
|
|
590 |
options dummy0 -o dummy0 |
|
|
591 |
!!ALTERNATIVE CONFIGURATION FILE |
|
|
592 |
|
|
|
593 |
|
|
|
594 |
For historical reasons, if /etc/modules.conf does not exist, |
|
|
595 |
modutils will read /etc/conf.modules instead. However the |
|
|
596 |
use of this historical name is deprecated and it should be |
|
|
597 |
replaced with /etc/modules.conf. This version of modutils |
|
|
598 |
issues a warning message if /etc/conf.modules exists, later |
|
|
599 |
versions will give an error message and refuse to load |
|
|
600 |
modules. |
|
|
601 |
!!SEE ALSO |
|
|
602 |
|
|
|
603 |
|
|
|
604 |
depmod(8), modprobe(8), insmod(8) |
|
|
605 |
!!AUTHOR |
|
|
606 |
|
|
|
607 |
|
|
|
608 |
Bjorn Ekwall |
|
|
609 |
---- |