blob: a430fcac33e92a2b37c3c1c246260773f484a770 [file] [log] [blame]
Eric Andersenc9f20d92002-12-05 08:41:41 +00001#
2# For a description of the syntax of this configuration file,
3# see scripts/kbuild/config-language.txt.
4#
5
Glenn L McGrath1b6dfa72003-03-30 13:57:26 +00006menu "Linux Module Utilities"
Eric Andersenc9f20d92002-12-05 08:41:41 +00007
Denis Vlasenko671691c2008-07-04 10:25:44 +00008config MODPROBE_SMALL
9 bool "Simplified modutils"
10 default n
11 help
12 Simplified modutils.
13
Denis Vlasenko0e2c93f2008-07-10 14:16:11 +000014 With this option modprobe does not require modules.dep file
15 and does not use /etc/modules.conf file.
Denis Vlasenko671691c2008-07-04 10:25:44 +000016 It scans module files in /lib/modules/`uname -r` and
17 determines dependencies and module alias names on the fly.
18 This may make module loading slower, most notably
19 when one needs to load module by alias (this requires
20 scanning through module _bodies_).
21
Denis Vlasenko0e2c93f2008-07-10 14:16:11 +000022 At the first attempt to load a module by alias modprobe
23 will try to generate modules.dep.bb file in order to speed up
24 future loads by alias. Failure to do so (read-only /lib/modules,
25 etc) is not reported, and future modprobes will be slow too.
26
27 NB: modules.dep.bb file format is not compatible
28 with modules.dep file as created/used by standard module tools.
29
Denis Vlasenko671691c2008-07-04 10:25:44 +000030 Additional module parameters can be stored in
31 /etc/modules/$module_name files.
32
33 Apart from modprobe, other utilities are also provided:
34 - insmod is an alias to modprobe
35 - rmmod is an alias to modprobe -r
Denis Vlasenko0e2c93f2008-07-10 14:16:11 +000036 - depmod generates modules.dep.bb
Denis Vlasenko671691c2008-07-04 10:25:44 +000037
Denis Vlasenko3e8fd182008-07-10 23:42:36 +000038 As of 2008-07, this code is experimental. It is 14kb smaller
Denis Vlasenko671691c2008-07-04 10:25:44 +000039 than "non-small" modutils.
40
41config FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
Denis Vlasenkof62ab2d2008-07-09 09:50:33 +000042 bool "Accept module options on modprobe command line"
Denis Vlasenko671691c2008-07-04 10:25:44 +000043 default n
44 depends on MODPROBE_SMALL
45 help
46 Allow insmod and modprobe take module options from command line.
47 N.B. Very bloaty.
48
49config FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
50 bool "Skip loading of already loaded modules"
51 default n
52 depends on MODPROBE_SMALL
53 help
54 Check if the module is already loaded.
55 N.B. It's racy.
56
Bernhard Reutner-Fischer55e547e2008-05-26 12:01:49 +000057config DEPMOD
58 bool "depmod"
59 default n
Denis Vlasenko671691c2008-07-04 10:25:44 +000060 depends on !MODPROBE_SMALL
Bernhard Reutner-Fischer55e547e2008-05-26 12:01:49 +000061 help
62 depmod generates modules.dep (FIXME: elaborate)
63
Bernhard Reutner-Fischerbeac1bd2008-06-02 13:28:47 +000064config FEATURE_DEPMOD_PRUNE_FANCY
Denis Vlasenko671691c2008-07-04 10:25:44 +000065 bool "Fancy dependency pruning"
Bernhard Reutner-Fischerbeac1bd2008-06-02 13:28:47 +000066 default n
67 depends on DEPMOD
68 help
69 By default modules.dep contains all dependencies as listed by
70 the modules.
71 If you enable this option then we remove implied modules from
72 the dependencies.
73 This makes depmod somewhat bigger but generates a smaller
74 modules.dep file.
75
76 If unsure, say N.
77
Bernhard Reutner-Fischerc2741e12008-06-02 18:59:16 +000078config FEATURE_DEPMOD_ALIAS
Denis Vlasenko671691c2008-07-04 10:25:44 +000079 bool "Alias support"
Bernhard Reutner-Fischerc2741e12008-06-02 18:59:16 +000080 default n
81 depends on DEPMOD
82 help
83 By default modules.dep does not contain alias information.
84 Enable this to emit aliases of the form:
85
86 alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs
87
Denis Vlasenko7d219aa2006-10-05 10:17:08 +000088config INSMOD
Eric Andersenc9f20d92002-12-05 08:41:41 +000089 bool "insmod"
90 default n
Denis Vlasenko671691c2008-07-04 10:25:44 +000091 depends on !MODPROBE_SMALL
Eric Andersenc9f20d92002-12-05 08:41:41 +000092 help
Eric Andersene5642112003-07-14 19:37:08 +000093 insmod is used to load specified modules in the running kernel.
Eric Andersenc9f20d92002-12-05 08:41:41 +000094
Denis Vlasenko7d219aa2006-10-05 10:17:08 +000095config FEATURE_INSMOD_VERSION_CHECKING
Rob Landley762bb622005-12-11 20:20:05 +000096 bool "Module version checking"
Eric Andersenc9f20d92002-12-05 08:41:41 +000097 default n
Denis Vlasenko7d219aa2006-10-05 10:17:08 +000098 depends on INSMOD && FEATURE_2_4_MODULES
Eric Andersenc9f20d92002-12-05 08:41:41 +000099 help
Bernhard Reutner-Fischer3e8669f2008-07-22 18:27:53 +0000100 Support checking of versions for modules. This is used to
Eric Andersen9c3c38d2003-07-22 09:59:34 +0000101 ensure that the kernel and module are made for each other.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000102
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000103config FEATURE_INSMOD_KSYMOOPS_SYMBOLS
Rob Landley762bb622005-12-11 20:20:05 +0000104 bool "Add module symbols to kernel symbol table"
Eric Andersen889dd202003-01-23 04:48:34 +0000105 default n
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000106 depends on INSMOD && FEATURE_2_4_MODULES
Eric Andersen889dd202003-01-23 04:48:34 +0000107 help
Eric Andersenc7bda1c2004-03-15 08:29:22 +0000108 By adding module symbols to the kernel symbol table, Oops messages
Bernhard Reutner-Fischer3e8669f2008-07-22 18:27:53 +0000109 occuring within kernel modules can be properly debugged. By enabling
Eric Andersenc7bda1c2004-03-15 08:29:22 +0000110 this feature, module symbols will always be added to the kernel symbol
Bernhard Reutner-Fischer3e8669f2008-07-22 18:27:53 +0000111 table for properly debugging support. If you are not interested in
Eric Andersen889dd202003-01-23 04:48:34 +0000112 Oops messages from kernel modules, say N.
113
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000114config FEATURE_INSMOD_LOADINKMEM
Rob Landley762bb622005-12-11 20:20:05 +0000115 bool "In kernel memory optimization (uClinux only)"
Eric Andersenc9f20d92002-12-05 08:41:41 +0000116 default n
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000117 depends on INSMOD && FEATURE_2_4_MODULES
Eric Andersenc9f20d92002-12-05 08:41:41 +0000118 help
Eric Andersenb24da332003-07-22 10:16:58 +0000119 This is a special uClinux only memory optimization that lets insmod
120 load the specified kernel module directly into kernel space, reducing
121 memory usage by preventing the need for two copies of the module
122 being loaded into memory.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000123
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000124config FEATURE_INSMOD_LOAD_MAP
Rob Landley762bb622005-12-11 20:20:05 +0000125 bool "Enable load map (-m) option"
Eric Andersenbe65c352003-01-23 04:57:35 +0000126 default n
Denis Vlasenkocba9ef52006-10-10 21:00:47 +0000127 depends on INSMOD && ( FEATURE_2_4_MODULES || FEATURE_2_6_MODULES )
Eric Andersenbe65c352003-01-23 04:57:35 +0000128 help
129 Enabling this, one would be able to get a load map
130 output on stdout. This makes kernel module debugging
131 easier.
132 If you don't plan to debug kernel modules, you
133 don't need this option.
134
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000135config FEATURE_INSMOD_LOAD_MAP_FULL
Rob Landley762bb622005-12-11 20:20:05 +0000136 bool "Symbols in load map"
Eric Andersenbe65c352003-01-23 04:57:35 +0000137 default y
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000138 depends on FEATURE_INSMOD_LOAD_MAP
Eric Andersenbe65c352003-01-23 04:57:35 +0000139 help
140 Without this option, -m will only output section
Bernhard Reutner-Fischer3e8669f2008-07-22 18:27:53 +0000141 load map. With this option, -m will also output
Eric Andersene7047882003-12-11 01:42:13 +0000142 symbols load map.
Eric Andersenbe65c352003-01-23 04:57:35 +0000143
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000144config RMMOD
Rob Landley762bb622005-12-11 20:20:05 +0000145 bool "rmmod"
146 default n
Denis Vlasenko671691c2008-07-04 10:25:44 +0000147 depends on !MODPROBE_SMALL
Rob Landley762bb622005-12-11 20:20:05 +0000148 help
149 rmmod is used to unload specified modules from the kernel.
150
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000151config LSMOD
Eric Andersenc9f20d92002-12-05 08:41:41 +0000152 bool "lsmod"
153 default n
Denis Vlasenko671691c2008-07-04 10:25:44 +0000154 depends on !MODPROBE_SMALL
Eric Andersenc9f20d92002-12-05 08:41:41 +0000155 help
Eric Andersen65e20a32003-07-05 07:52:35 +0000156 lsmod is used to display a list of loaded modules.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000157
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000158config FEATURE_LSMOD_PRETTY_2_6_OUTPUT
Denis Vlasenko4ee7cd42008-03-17 09:13:22 +0000159 bool "Pretty output for 2.6.x Linux kernels"
Rob Landley15d3f7f2005-05-04 00:25:49 +0000160 default n
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000161 depends on LSMOD
Rob Landley15d3f7f2005-05-04 00:25:49 +0000162 help
Tim Rikerc1ef7bd2006-01-25 00:08:53 +0000163 This option makes output format of lsmod adjusted to
Rob Landley4f653602005-05-04 23:55:06 +0000164 the format of module-init-tools for Linux kernel 2.6.
Rob Landley15d3f7f2005-05-04 00:25:49 +0000165
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000166config MODPROBE
Eric Andersenc9f20d92002-12-05 08:41:41 +0000167 bool "modprobe"
168 default n
Denis Vlasenko671691c2008-07-04 10:25:44 +0000169 depends on !MODPROBE_SMALL
Eric Andersenc9f20d92002-12-05 08:41:41 +0000170 help
Mike Frysingerfa6c4842006-05-26 01:48:17 +0000171 Handle the loading of modules, and their dependencies on a high
Eric Andersene5642112003-07-14 19:37:08 +0000172 level.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000173
Rob Landley762bb622005-12-11 20:20:05 +0000174 Note that in the state, modprobe does not understand multiple
175 module options from the configuration file. See option below.
Rob Landley79e1cab2005-11-15 00:08:29 +0000176
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000177config FEATURE_MODPROBE_MULTIPLE_OPTIONS
Mike Frysinger11353ae2007-01-24 14:34:35 +0000178 bool
Denis Vlasenko9305cdd2008-05-13 02:43:27 +0000179 prompt "Multiple options parsing"
Rob Landley79e1cab2005-11-15 00:08:29 +0000180 default y
Mike Frysinger11353ae2007-01-24 14:34:35 +0000181 depends on MODPROBE
Rob Landley79e1cab2005-11-15 00:08:29 +0000182 help
183 Allow modprobe to understand more than one option to pass to
184 modules.
Rob Landley762bb622005-12-11 20:20:05 +0000185
Rob Landley79e1cab2005-11-15 00:08:29 +0000186 This is a WIP, while waiting for a common argument parsing
187 common amongst all BB applets (shell, modprobe, etc...) and
188 adds around 600 bytes on x86, 700 bytes on ARM. The code is
189 biggish and uggly, but just works.
Rob Landley762bb622005-12-11 20:20:05 +0000190
Rob Landley79e1cab2005-11-15 00:08:29 +0000191 Saying Y here is not a bad idea if you're not that short
192 on storage capacity.
193
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000194config FEATURE_MODPROBE_FANCY_ALIAS
Mike Frysinger11353ae2007-01-24 14:34:35 +0000195 bool
Denis Vlasenko9305cdd2008-05-13 02:43:27 +0000196 prompt "Fancy alias parsing"
Rob Landleybf30c692006-07-20 17:36:18 +0000197 default y
Mike Frysinger11353ae2007-01-24 14:34:35 +0000198 depends on MODPROBE && FEATURE_2_6_MODULES
Rob Landleybf30c692006-07-20 17:36:18 +0000199 help
200 Say 'y' here to enable parsing of aliases with underscore/dash
201 mismatch between module name and file name, along with bus-specific
202 aliases (such as pci:... or usb:... aliases).
203
Denis Vlasenko9ddc8d52008-05-18 14:39:43 +0000204config FEATURE_MODPROBE_BLACKLIST
205 bool
206 prompt "Blacklist support"
207 default n
208 depends on MODPROBE && FEATURE_2_6_MODULES
209 help
Denis Vlasenkof45c4f42008-06-16 04:09:25 +0000210 Say 'y' here to enable support for the 'blacklist' command in
211 modprobe.conf. This prevents the alias resolver to resolve
212 blacklisted modules. This is useful if you want to prevent your
213 hardware autodetection scripts to load modules like evdev, frame
Denis Vlasenko9ddc8d52008-05-18 14:39:43 +0000214 buffer drivers etc.
215
Rob Landley762bb622005-12-11 20:20:05 +0000216comment "Options common to multiple modutils"
Bernhard Reutner-Fischerb85fb692008-05-27 10:55:34 +0000217 depends on INSMOD || RMMOD || MODPROBE || LSMOD || DEPMOD
Eric Andersenc9f20d92002-12-05 08:41:41 +0000218
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000219config FEATURE_CHECK_TAINTED_MODULE
Rob Landley762bb622005-12-11 20:20:05 +0000220 # Simulate indentation
Rob Landley2ec922e2006-04-13 23:22:16 +0000221 bool "Support tainted module checking with new kernels"
Eric Andersenc9f20d92002-12-05 08:41:41 +0000222 default y
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000223 depends on INSMOD || LSMOD
Eric Andersenc9f20d92002-12-05 08:41:41 +0000224 help
Bernhard Reutner-Fischer3e8669f2008-07-22 18:27:53 +0000225 Support checking for tainted modules. These are usually binary
Eric Andersen9c3c38d2003-07-22 09:59:34 +0000226 only modules that will make the linux-kernel list ignore your
227 support request.
Glenn L McGrath759d7ec2003-09-03 00:42:58 +0000228 This option is required to support GPLONLY modules.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000229
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000230config FEATURE_2_4_MODULES
Rob Landley762bb622005-12-11 20:20:05 +0000231 # Simulate indentation
Rob Landley2ec922e2006-04-13 23:22:16 +0000232 bool "Support version 2.2.x to 2.4.x Linux kernels"
Rob Landley762bb622005-12-11 20:20:05 +0000233 default y
Denis Vlasenko997aa112006-10-14 11:12:20 +0000234 depends on INSMOD || RMMOD || MODPROBE
Rob Landley762bb622005-12-11 20:20:05 +0000235 help
236 Support module loading for 2.2.x and 2.4.x Linux kernels.
237
Bernhard Reutner-Fischer94748302008-05-27 08:41:32 +0000238 Note:
239 This is automatically enabled if 2.6 modules are not enabled.
240
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000241config FEATURE_2_6_MODULES
Rob Landley762bb622005-12-11 20:20:05 +0000242 # Simulate indentation
Rob Landley2ec922e2006-04-13 23:22:16 +0000243 bool "Support version 2.6.x Linux kernels"
Rob Landley762bb622005-12-11 20:20:05 +0000244 default y
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000245 depends on INSMOD || RMMOD || MODPROBE
Rob Landley762bb622005-12-11 20:20:05 +0000246 help
247 Support module loading for newer 2.6.x Linux kernels.
248
Bernhard Reutner-Fischerb85fb692008-05-27 10:55:34 +0000249config DEFAULT_MODULES_DIR
250 # Simulate indentation
Denis Vlasenkoe7860e32008-06-04 22:41:14 +0000251 string "Default directory containing modules"
Bernhard Reutner-Fischerb85fb692008-05-27 10:55:34 +0000252 default "/lib/modules"
Denis Vlasenko671691c2008-07-04 10:25:44 +0000253 depends on INSMOD || RMMOD || MODPROBE || MODPROBE_SMALL || DEPMOD
Bernhard Reutner-Fischerb85fb692008-05-27 10:55:34 +0000254 help
255 Directory that contains kernel modules.
256 Defaults to "/lib/modules"
257
258config DEFAULT_DEPMOD_FILE
259 # Simulate indentation
Denis Vlasenkoe7860e32008-06-04 22:41:14 +0000260 string "Default name of modules.dep"
Bernhard Reutner-Fischerb85fb692008-05-27 10:55:34 +0000261 default "modules.dep"
Denis Vlasenko671691c2008-07-04 10:25:44 +0000262 depends on INSMOD || RMMOD || MODPROBE || MODPROBE_SMALL || DEPMOD
Bernhard Reutner-Fischerb85fb692008-05-27 10:55:34 +0000263 help
264 Filename that contains kernel modules dependencies.
265 Defaults to "modules.dep"
Rob Landley762bb622005-12-11 20:20:05 +0000266
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000267config FEATURE_QUERY_MODULE_INTERFACE
Rob Landley762bb622005-12-11 20:20:05 +0000268 bool
269 default y
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000270 depends on FEATURE_2_4_MODULES && !FEATURE_2_6_MODULES
Rob Landley762bb622005-12-11 20:20:05 +0000271
Eric Andersenc9f20d92002-12-05 08:41:41 +0000272endmenu