blob: 449ac65afb792c74f53867280d66d19dc0c7912d [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
Pascal Bellard22bdf902010-06-06 04:55:13 +02008INSERT
9
Denis Vlasenko671691c2008-07-04 10:25:44 +000010config MODPROBE_SMALL
11 bool "Simplified modutils"
Denys Vlasenko2f32bf82010-06-06 04:14:28 +020012 default y
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +010013 select PLATFORM_LINUX
Denis Vlasenko671691c2008-07-04 10:25:44 +000014 help
15 Simplified modutils.
16
Denis Vlasenko0e2c93f2008-07-10 14:16:11 +000017 With this option modprobe does not require modules.dep file
18 and does not use /etc/modules.conf file.
Denis Vlasenko671691c2008-07-04 10:25:44 +000019 It scans module files in /lib/modules/`uname -r` and
20 determines dependencies and module alias names on the fly.
21 This may make module loading slower, most notably
22 when one needs to load module by alias (this requires
23 scanning through module _bodies_).
24
Denis Vlasenko0e2c93f2008-07-10 14:16:11 +000025 At the first attempt to load a module by alias modprobe
26 will try to generate modules.dep.bb file in order to speed up
27 future loads by alias. Failure to do so (read-only /lib/modules,
28 etc) is not reported, and future modprobes will be slow too.
29
30 NB: modules.dep.bb file format is not compatible
31 with modules.dep file as created/used by standard module tools.
32
Denis Vlasenko671691c2008-07-04 10:25:44 +000033 Additional module parameters can be stored in
34 /etc/modules/$module_name files.
35
36 Apart from modprobe, other utilities are also provided:
37 - insmod is an alias to modprobe
38 - rmmod is an alias to modprobe -r
Denis Vlasenko0e2c93f2008-07-10 14:16:11 +000039 - depmod generates modules.dep.bb
Denis Vlasenko671691c2008-07-04 10:25:44 +000040
Denis Vlasenko3e8fd182008-07-10 23:42:36 +000041 As of 2008-07, this code is experimental. It is 14kb smaller
Denis Vlasenko671691c2008-07-04 10:25:44 +000042 than "non-small" modutils.
43
44config FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
Denis Vlasenkof62ab2d2008-07-09 09:50:33 +000045 bool "Accept module options on modprobe command line"
Denys Vlasenko2f32bf82010-06-06 04:14:28 +020046 default y
Denis Vlasenko671691c2008-07-04 10:25:44 +000047 depends on MODPROBE_SMALL
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +010048 select PLATFORM_LINUX
Denis Vlasenko671691c2008-07-04 10:25:44 +000049 help
50 Allow insmod and modprobe take module options from command line.
Denis Vlasenko671691c2008-07-04 10:25:44 +000051
52config FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
53 bool "Skip loading of already loaded modules"
Denys Vlasenko2f32bf82010-06-06 04:14:28 +020054 default y
Denis Vlasenko671691c2008-07-04 10:25:44 +000055 depends on MODPROBE_SMALL
56 help
57 Check if the module is already loaded.
Denis Vlasenko671691c2008-07-04 10:25:44 +000058
Denis Vlasenko7d219aa2006-10-05 10:17:08 +000059config INSMOD
Eric Andersenc9f20d92002-12-05 08:41:41 +000060 bool "insmod"
61 default n
Denis Vlasenko671691c2008-07-04 10:25:44 +000062 depends on !MODPROBE_SMALL
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +010063 select PLATFORM_LINUX
Eric Andersenc9f20d92002-12-05 08:41:41 +000064 help
Eric Andersene5642112003-07-14 19:37:08 +000065 insmod is used to load specified modules in the running kernel.
Eric Andersenc9f20d92002-12-05 08:41:41 +000066
Denis Vlasenko7d219aa2006-10-05 10:17:08 +000067config RMMOD
Rob Landley762bb622005-12-11 20:20:05 +000068 bool "rmmod"
69 default n
Denis Vlasenko671691c2008-07-04 10:25:44 +000070 depends on !MODPROBE_SMALL
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +010071 select PLATFORM_LINUX
Rob Landley762bb622005-12-11 20:20:05 +000072 help
73 rmmod is used to unload specified modules from the kernel.
74
Denis Vlasenko7d219aa2006-10-05 10:17:08 +000075config LSMOD
Eric Andersenc9f20d92002-12-05 08:41:41 +000076 bool "lsmod"
77 default n
Denis Vlasenko671691c2008-07-04 10:25:44 +000078 depends on !MODPROBE_SMALL
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +010079 select PLATFORM_LINUX
Eric Andersenc9f20d92002-12-05 08:41:41 +000080 help
Eric Andersen65e20a32003-07-05 07:52:35 +000081 lsmod is used to display a list of loaded modules.
Eric Andersenc9f20d92002-12-05 08:41:41 +000082
Denis Vlasenko7d219aa2006-10-05 10:17:08 +000083config FEATURE_LSMOD_PRETTY_2_6_OUTPUT
Denis Vlasenkoba1315d2008-09-13 14:59:38 +000084 bool "Pretty output"
Rob Landley15d3f7f2005-05-04 00:25:49 +000085 default n
Denis Vlasenko7d219aa2006-10-05 10:17:08 +000086 depends on LSMOD
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +010087 select PLATFORM_LINUX
Rob Landley15d3f7f2005-05-04 00:25:49 +000088 help
Tim Rikerc1ef7bd2006-01-25 00:08:53 +000089 This option makes output format of lsmod adjusted to
Rob Landley4f653602005-05-04 23:55:06 +000090 the format of module-init-tools for Linux kernel 2.6.
Denis Vlasenkoba1315d2008-09-13 14:59:38 +000091 Increases size somewhat.
Rob Landley15d3f7f2005-05-04 00:25:49 +000092
Denis Vlasenko7d219aa2006-10-05 10:17:08 +000093config MODPROBE
Eric Andersenc9f20d92002-12-05 08:41:41 +000094 bool "modprobe"
95 default n
Denis Vlasenko671691c2008-07-04 10:25:44 +000096 depends on !MODPROBE_SMALL
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +010097 select PLATFORM_LINUX
Eric Andersenc9f20d92002-12-05 08:41:41 +000098 help
Mike Frysingerfa6c4842006-05-26 01:48:17 +000099 Handle the loading of modules, and their dependencies on a high
Eric Andersene5642112003-07-14 19:37:08 +0000100 level.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000101
Denis Vlasenko9ddc8d52008-05-18 14:39:43 +0000102config FEATURE_MODPROBE_BLACKLIST
Denys Vlasenkobcbd37d2009-06-18 13:23:58 +0200103 bool "Blacklist support"
Denis Vlasenko9ddc8d52008-05-18 14:39:43 +0000104 default n
Denis Vlasenkoba1315d2008-09-13 14:59:38 +0000105 depends on MODPROBE
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +0100106 select PLATFORM_LINUX
Denis Vlasenko9ddc8d52008-05-18 14:39:43 +0000107 help
Denis Vlasenkof45c4f42008-06-16 04:09:25 +0000108 Say 'y' here to enable support for the 'blacklist' command in
109 modprobe.conf. This prevents the alias resolver to resolve
110 blacklisted modules. This is useful if you want to prevent your
111 hardware autodetection scripts to load modules like evdev, frame
Denis Vlasenko9ddc8d52008-05-18 14:39:43 +0000112 buffer drivers etc.
113
Denis Vlasenkoba1315d2008-09-13 14:59:38 +0000114config DEPMOD
115 bool "depmod"
116 default n
117 depends on !MODPROBE_SMALL
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +0100118 select PLATFORM_LINUX
Denis Vlasenkoba1315d2008-09-13 14:59:38 +0000119 help
120 depmod generates modules.dep (and potentially modules.alias
121 and modules.symbols) that contain dependency information
122 for modprobe.
123
Rob Landley762bb622005-12-11 20:20:05 +0000124comment "Options common to multiple modutils"
Denis Vlasenkoba1315d2008-09-13 14:59:38 +0000125
126config FEATURE_2_4_MODULES
127 bool "Support version 2.2/2.4 Linux kernels"
128 default n
129 depends on INSMOD || RMMOD || LSMOD
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +0100130 select PLATFORM_LINUX
Denis Vlasenkoba1315d2008-09-13 14:59:38 +0000131 help
132 Support module loading for 2.2.x and 2.4.x Linux kernels.
133 This increases size considerably. Say N unless you plan
134 to run ancient kernels.
135
Denys Vlasenko77c066e2009-10-25 04:35:22 +0100136config FEATURE_INSMOD_TRY_MMAP
137 bool "Try to load module from a mmap'ed area"
138 default n
139 depends on INSMOD || MODPROBE_SMALL
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +0100140 select PLATFORM_LINUX
Denys Vlasenko77c066e2009-10-25 04:35:22 +0100141 help
142 This option causes module loading code to try to mmap
143 module first. If it does not work (for example,
144 it does not work for compressed modules), module will be read
145 (and unpacked if needed) into a memory block allocated by malloc.
146
147 The only case when mmap works but malloc does not is when
148 you are trying to load a big module on a very memory-constrained
149 machine. Malloc will momentarily need 2x as much memory as mmap.
150
151 Choosing N saves about 250 bytes of code (on 32-bit x86).
152
Denis Vlasenkoba1315d2008-09-13 14:59:38 +0000153config FEATURE_INSMOD_VERSION_CHECKING
154 bool "Enable module version checking"
155 default n
156 depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE)
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +0100157 select PLATFORM_LINUX
Denis Vlasenkoba1315d2008-09-13 14:59:38 +0000158 help
159 Support checking of versions for modules. This is used to
160 ensure that the kernel and module are made for each other.
161
162config FEATURE_INSMOD_KSYMOOPS_SYMBOLS
163 bool "Add module symbols to kernel symbol table"
164 default n
165 depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE)
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +0100166 select PLATFORM_LINUX
Denis Vlasenkoba1315d2008-09-13 14:59:38 +0000167 help
168 By adding module symbols to the kernel symbol table, Oops messages
169 occuring within kernel modules can be properly debugged. By enabling
170 this feature, module symbols will always be added to the kernel symbol
Denis Vlasenkoc5741002009-03-05 09:26:17 +0000171 table for proper debugging support. If you are not interested in
Denis Vlasenkoba1315d2008-09-13 14:59:38 +0000172 Oops messages from kernel modules, say N.
173
174config FEATURE_INSMOD_LOADINKMEM
175 bool "In kernel memory optimization (uClinux only)"
176 default n
177 depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE)
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +0100178 select PLATFORM_LINUX
Denis Vlasenkoba1315d2008-09-13 14:59:38 +0000179 help
180 This is a special uClinux only memory optimization that lets insmod
181 load the specified kernel module directly into kernel space, reducing
182 memory usage by preventing the need for two copies of the module
183 being loaded into memory.
184
185config FEATURE_INSMOD_LOAD_MAP
186 bool "Enable insmod load map (-m) option"
187 default n
188 depends on FEATURE_2_4_MODULES && INSMOD
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +0100189 select PLATFORM_LINUX
Denis Vlasenkoba1315d2008-09-13 14:59:38 +0000190 help
191 Enabling this, one would be able to get a load map
192 output on stdout. This makes kernel module debugging
193 easier.
194 If you don't plan to debug kernel modules, you
195 don't need this option.
196
197config FEATURE_INSMOD_LOAD_MAP_FULL
198 bool "Symbols in load map"
199 default y
200 depends on FEATURE_INSMOD_LOAD_MAP && !MODPROBE_SMALL
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +0100201 select PLATFORM_LINUX
Denis Vlasenkoba1315d2008-09-13 14:59:38 +0000202 help
203 Without this option, -m will only output section
204 load map. With this option, -m will also output
205 symbols load map.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000206
Denis Vlasenko7d219aa2006-10-05 10:17:08 +0000207config FEATURE_CHECK_TAINTED_MODULE
Rob Landley2ec922e2006-04-13 23:22:16 +0000208 bool "Support tainted module checking with new kernels"
Eric Andersenc9f20d92002-12-05 08:41:41 +0000209 default y
Denis Vlasenkoe35af562009-01-31 14:22:24 +0000210 depends on (LSMOD || FEATURE_2_4_MODULES) && !MODPROBE_SMALL
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +0100211 select PLATFORM_LINUX
Eric Andersenc9f20d92002-12-05 08:41:41 +0000212 help
Bernhard Reutner-Fischer3e8669f2008-07-22 18:27:53 +0000213 Support checking for tainted modules. These are usually binary
Eric Andersen9c3c38d2003-07-22 09:59:34 +0000214 only modules that will make the linux-kernel list ignore your
215 support request.
Glenn L McGrath759d7ec2003-09-03 00:42:58 +0000216 This option is required to support GPLONLY modules.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000217
Denis Vlasenkoba1315d2008-09-13 14:59:38 +0000218config FEATURE_MODUTILS_ALIAS
219 bool "Support for module.aliases file"
Rob Landley762bb622005-12-11 20:20:05 +0000220 default y
Denis Vlasenkoba1315d2008-09-13 14:59:38 +0000221 depends on DEPMOD || MODPROBE
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +0100222 select PLATFORM_LINUX
Rob Landley762bb622005-12-11 20:20:05 +0000223 help
Denis Vlasenkoba1315d2008-09-13 14:59:38 +0000224 Generate and parse modules.alias containing aliases for bus
225 identifiers:
226 alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs
Rob Landley762bb622005-12-11 20:20:05 +0000227
Denis Vlasenkoba1315d2008-09-13 14:59:38 +0000228 and aliases for logical modules names e.g.:
229 alias padlock_aes aes
230 alias aes_i586 aes
231 alias aes_generic aes
Bernhard Reutner-Fischer94748302008-05-27 08:41:32 +0000232
Denis Vlasenkoba1315d2008-09-13 14:59:38 +0000233 Say Y if unsure.
234
235config FEATURE_MODUTILS_SYMBOLS
236 bool "Support for module.symbols file"
Rob Landley762bb622005-12-11 20:20:05 +0000237 default y
Denis Vlasenkoba1315d2008-09-13 14:59:38 +0000238 depends on DEPMOD || MODPROBE
Denys Vlasenkoe3b1a1f2011-02-26 22:24:08 +0100239 select PLATFORM_LINUX
Rob Landley762bb622005-12-11 20:20:05 +0000240 help
Denis Vlasenkoba1315d2008-09-13 14:59:38 +0000241 Generate and parse modules.symbols containing aliases for
242 symbol_request() kernel calls, such as:
243 alias symbol:usb_sg_init usbcore
Rob Landley762bb622005-12-11 20:20:05 +0000244
Denis Vlasenkoba1315d2008-09-13 14:59:38 +0000245 Say Y if unsure.
Rob Landley762bb622005-12-11 20:20:05 +0000246
Denis Vlasenkoe35af562009-01-31 14:22:24 +0000247config DEFAULT_MODULES_DIR
248 string "Default directory containing modules"
249 default "/lib/modules"
Lauri Kasanenf6464002010-06-26 13:41:35 +0300250 depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO
Denis Vlasenkoe35af562009-01-31 14:22:24 +0000251 help
252 Directory that contains kernel modules.
253 Defaults to "/lib/modules"
254
255config DEFAULT_DEPMOD_FILE
256 string "Default name of modules.dep"
257 default "modules.dep"
Lauri Kasanenf6464002010-06-26 13:41:35 +0300258 depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO
Denis Vlasenkoe35af562009-01-31 14:22:24 +0000259 help
260 Filename that contains kernel modules dependencies.
261 Defaults to "modules.dep"
262
Eric Andersenc9f20d92002-12-05 08:41:41 +0000263endmenu