ash: [EVAL] Fix use-after-free in dotrap/evalstring
[oweals/busybox.git] / modutils / Config.src
1 #
2 # For a description of the syntax of this configuration file,
3 # see scripts/kbuild/config-language.txt.
4 #
5
6 menu "Linux Module Utilities"
7
8 INSERT
9
10 config MODPROBE_SMALL
11         bool "Simplified modutils"
12         default y
13         select PLATFORM_LINUX
14         help
15           Simplified modutils.
16
17           With this option modprobe does not require modules.dep file
18           and does not use /etc/modules.conf file.
19           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
25           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
33           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
39           - depmod generates modules.dep.bb
40
41 config FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
42         bool "Accept module options on modprobe command line"
43         default y
44         depends on MODPROBE_SMALL
45         select PLATFORM_LINUX
46         help
47           Allow insmod and modprobe take module options from command line.
48
49 config FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
50         bool "Skip loading of already loaded modules"
51         default y
52         depends on MODPROBE_SMALL
53         help
54           Check if the module is already loaded.
55
56 config INSMOD
57         bool "insmod"
58         default n
59         depends on !MODPROBE_SMALL
60         select PLATFORM_LINUX
61         help
62           insmod is used to load specified modules in the running kernel.
63
64 config RMMOD
65         bool "rmmod"
66         default n
67         depends on !MODPROBE_SMALL
68         select PLATFORM_LINUX
69         help
70           rmmod is used to unload specified modules from the kernel.
71
72 config LSMOD
73         bool "lsmod"
74         default n
75         depends on !MODPROBE_SMALL
76         select PLATFORM_LINUX
77         help
78           lsmod is used to display a list of loaded modules.
79
80 config FEATURE_LSMOD_PRETTY_2_6_OUTPUT
81         bool "Pretty output"
82         default n
83         depends on LSMOD
84         select PLATFORM_LINUX
85         help
86           This option makes output format of lsmod adjusted to
87           the format of module-init-tools for Linux kernel 2.6.
88           Increases size somewhat.
89
90 config MODPROBE
91         bool "modprobe"
92         default n
93         depends on !MODPROBE_SMALL
94         select PLATFORM_LINUX
95         help
96           Handle the loading of modules, and their dependencies on a high
97           level.
98
99 config FEATURE_MODPROBE_BLACKLIST
100         bool "Blacklist support"
101         default n
102         depends on MODPROBE
103         select PLATFORM_LINUX
104         help
105           Say 'y' here to enable support for the 'blacklist' command in
106           modprobe.conf. This prevents the alias resolver to resolve
107           blacklisted modules. This is useful if you want to prevent your
108           hardware autodetection scripts to load modules like evdev, frame
109           buffer drivers etc.
110
111 config DEPMOD
112         bool "depmod"
113         default n
114         depends on !MODPROBE_SMALL
115         select PLATFORM_LINUX
116         help
117           depmod generates modules.dep (and potentially modules.alias
118           and modules.symbols) that contain dependency information
119           for modprobe.
120
121 comment "Options common to multiple modutils"
122
123 config FEATURE_2_4_MODULES
124         bool "Support version 2.2/2.4 Linux kernels"
125         default n
126         depends on INSMOD || RMMOD || LSMOD
127         select PLATFORM_LINUX
128         help
129           Support module loading for 2.2.x and 2.4.x Linux kernels.
130           This increases size considerably. Say N unless you plan
131           to run ancient kernels.
132
133 config FEATURE_INSMOD_TRY_MMAP
134         bool "Try to load module from a mmap'ed area"
135         default n
136         depends on INSMOD || MODPROBE_SMALL
137         select PLATFORM_LINUX
138         help
139           This option causes module loading code to try to mmap
140           module first. If it does not work (for example,
141           it does not work for compressed modules), module will be read
142           (and unpacked if needed) into a memory block allocated by malloc.
143
144           The only case when mmap works but malloc does not is when
145           you are trying to load a big module on a very memory-constrained
146           machine. Malloc will momentarily need 2x as much memory as mmap.
147
148           Choosing N saves about 250 bytes of code (on 32-bit x86).
149
150 config FEATURE_INSMOD_VERSION_CHECKING
151         bool "Enable module version checking"
152         default n
153         depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE)
154         select PLATFORM_LINUX
155         help
156           Support checking of versions for modules. This is used to
157           ensure that the kernel and module are made for each other.
158
159 config FEATURE_INSMOD_KSYMOOPS_SYMBOLS
160         bool "Add module symbols to kernel symbol table"
161         default n
162         depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE)
163         select PLATFORM_LINUX
164         help
165           By adding module symbols to the kernel symbol table, Oops messages
166           occuring within kernel modules can be properly debugged. By enabling
167           this feature, module symbols will always be added to the kernel symbol
168           table for proper debugging support. If you are not interested in
169           Oops messages from kernel modules, say N.
170
171 config FEATURE_INSMOD_LOADINKMEM
172         bool "In kernel memory optimization (uClinux only)"
173         default n
174         depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE)
175         select PLATFORM_LINUX
176         help
177           This is a special uClinux only memory optimization that lets insmod
178           load the specified kernel module directly into kernel space, reducing
179           memory usage by preventing the need for two copies of the module
180           being loaded into memory.
181
182 config FEATURE_INSMOD_LOAD_MAP
183         bool "Enable insmod load map (-m) option"
184         default n
185         depends on FEATURE_2_4_MODULES && INSMOD
186         select PLATFORM_LINUX
187         help
188           Enabling this, one would be able to get a load map
189           output on stdout. This makes kernel module debugging
190           easier.
191           If you don't plan to debug kernel modules, you
192           don't need this option.
193
194 config FEATURE_INSMOD_LOAD_MAP_FULL
195         bool "Symbols in load map"
196         default y
197         depends on FEATURE_INSMOD_LOAD_MAP && !MODPROBE_SMALL
198         select PLATFORM_LINUX
199         help
200           Without this option, -m will only output section
201           load map. With this option, -m will also output
202           symbols load map.
203
204 config FEATURE_CHECK_TAINTED_MODULE
205         bool "Support tainted module checking with new kernels"
206         default y
207         depends on (LSMOD || FEATURE_2_4_MODULES) && !MODPROBE_SMALL
208         select PLATFORM_LINUX
209         help
210           Support checking for tainted modules. These are usually binary
211           only modules that will make the linux-kernel list ignore your
212           support request.
213           This option is required to support GPLONLY modules.
214
215 config FEATURE_MODUTILS_ALIAS
216         bool "Support for module.aliases file"
217         default y
218         depends on DEPMOD || MODPROBE
219         select PLATFORM_LINUX
220         help
221           Generate and parse modules.alias containing aliases for bus
222           identifiers:
223             alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs
224
225           and aliases for logical modules names e.g.:
226             alias padlock_aes aes
227             alias aes_i586 aes
228             alias aes_generic aes
229
230           Say Y if unsure.
231
232 config FEATURE_MODUTILS_SYMBOLS
233         bool "Support for module.symbols file"
234         default y
235         depends on DEPMOD || MODPROBE
236         select PLATFORM_LINUX
237         help
238           Generate and parse modules.symbols containing aliases for
239           symbol_request() kernel calls, such as:
240             alias symbol:usb_sg_init usbcore
241
242           Say Y if unsure.
243
244 config DEFAULT_MODULES_DIR
245         string "Default directory containing modules"
246         default "/lib/modules"
247         depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO
248         help
249           Directory that contains kernel modules.
250           Defaults to "/lib/modules"
251
252 config DEFAULT_DEPMOD_FILE
253         string "Default name of modules.dep"
254         default "modules.dep"
255         depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO
256         help
257           Filename that contains kernel modules dependencies.
258           Defaults to "modules.dep"
259
260 endmenu