libbb: use improved xmalloc_read() from modprobe-small
[oweals/busybox.git] / modutils / Config.in
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 config MODPROBE_SMALL
9         bool "Simplified modutils"
10         default n
11         help
12           Simplified modutils.
13
14           With this option modprobe does not use or require
15           modules.dep or /etc/modules.conf files.
16           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
22           Additional module parameters can be stored in
23           /etc/modules/$module_name files.
24
25           Apart from modprobe, other utilities are also provided:
26           - insmod is an alias to modprobe
27           - rmmod is an alias to modprobe -r
28           - depmod is provided but does nothing
29
30           As of 2008-07, this code is experimental. It it 15kb smaller
31           than "non-small" modutils.
32
33 config FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
34         bool "Accept module options on modprobe command line"
35         default n
36         depends on MODPROBE_SMALL
37         help
38           Allow insmod and modprobe take module options from command line.
39           N.B. Very bloaty.
40
41 config FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
42         bool "Skip loading of already loaded modules"
43         default n
44         depends on MODPROBE_SMALL
45         help
46           Check if the module is already loaded.
47           N.B. It's racy.
48
49 config FEATURE_MODPROBE_SMALL_ZIPPED
50         bool "Handle gzipped or bzipped modules"
51         default n
52         depends on MODPROBE_SMALL
53         help
54           Handle compressed modules. Bloaty. Sloooow.
55
56 config DEPMOD
57         bool "depmod"
58         default n
59         depends on !MODPROBE_SMALL
60         help
61           depmod generates modules.dep (FIXME: elaborate)
62
63 config FEATURE_DEPMOD_PRUNE_FANCY
64         bool "Fancy dependency pruning"
65         default n
66         depends on DEPMOD
67         help
68           By default modules.dep contains all dependencies as listed by
69           the modules.
70           If you enable this option then we remove implied modules from
71           the dependencies.
72           This makes depmod somewhat bigger but generates a smaller
73           modules.dep file.
74
75           If unsure, say N.
76
77 config FEATURE_DEPMOD_ALIAS
78         bool "Alias support"
79         default n
80         depends on DEPMOD
81         help
82           By default modules.dep does not contain alias information.
83           Enable this to emit aliases of the form:
84
85             alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs
86
87 config INSMOD
88         bool "insmod"
89         default n
90         depends on !MODPROBE_SMALL
91         help
92           insmod is used to load specified modules in the running kernel.
93
94 config FEATURE_INSMOD_VERSION_CHECKING
95         bool "Module version checking"
96         default n
97         depends on INSMOD && FEATURE_2_4_MODULES
98         help
99           Support checking of versions for modules.  This is used to
100           ensure that the kernel and module are made for each other.
101
102 config FEATURE_INSMOD_KSYMOOPS_SYMBOLS
103         bool "Add module symbols to kernel symbol table"
104         default n
105         depends on INSMOD && FEATURE_2_4_MODULES
106         help
107           By adding module symbols to the kernel symbol table, Oops messages
108           occuring within kernel modules can be properly debugged.  By enabling
109           this feature, module symbols will always be added to the kernel symbol
110           table for properly debugging support.  If you are not interested in
111           Oops messages from kernel modules, say N.
112
113 config FEATURE_INSMOD_LOADINKMEM
114         bool "In kernel memory optimization (uClinux only)"
115         default n
116         depends on INSMOD && FEATURE_2_4_MODULES
117         help
118           This is a special uClinux only memory optimization that lets insmod
119           load the specified kernel module directly into kernel space, reducing
120           memory usage by preventing the need for two copies of the module
121           being loaded into memory.
122
123 config FEATURE_INSMOD_LOAD_MAP
124         bool "Enable load map (-m) option"
125         default n
126         depends on INSMOD && ( FEATURE_2_4_MODULES || FEATURE_2_6_MODULES )
127         help
128           Enabling this, one would be able to get a load map
129           output on stdout. This makes kernel module debugging
130           easier.
131           If you don't plan to debug kernel modules, you
132           don't need this option.
133
134 config FEATURE_INSMOD_LOAD_MAP_FULL
135         bool "Symbols in load map"
136         default y
137         depends on FEATURE_INSMOD_LOAD_MAP
138         help
139           Without this option, -m will only output section
140           load map.  With this option, -m will also output
141           symbols load map.
142
143 config RMMOD
144         bool "rmmod"
145         default n
146         depends on !MODPROBE_SMALL
147         help
148           rmmod is used to unload specified modules from the kernel.
149
150 config LSMOD
151         bool "lsmod"
152         default n
153         depends on !MODPROBE_SMALL
154         help
155           lsmod is used to display a list of loaded modules.
156
157 config FEATURE_LSMOD_PRETTY_2_6_OUTPUT
158         bool "Pretty output for 2.6.x Linux kernels"
159         default n
160         depends on LSMOD
161         help
162           This option makes output format of lsmod adjusted to
163           the format of module-init-tools for Linux kernel 2.6.
164
165 config MODPROBE
166         bool "modprobe"
167         default n
168         depends on !MODPROBE_SMALL
169         help
170           Handle the loading of modules, and their dependencies on a high
171           level.
172
173           Note that in the state, modprobe does not understand multiple
174           module options from the configuration file. See option below.
175
176 config FEATURE_MODPROBE_MULTIPLE_OPTIONS
177         bool
178         prompt "Multiple options parsing"
179         default y
180         depends on MODPROBE
181         help
182           Allow modprobe to understand more than one option to pass to
183           modules.
184
185           This is a WIP, while waiting for a common argument parsing
186           common amongst all BB applets (shell, modprobe, etc...) and
187           adds around 600 bytes on x86, 700 bytes on ARM. The code is
188           biggish and uggly, but just works.
189
190           Saying Y here is not a bad idea if you're not that short
191           on storage capacity.
192
193 config FEATURE_MODPROBE_FANCY_ALIAS
194         bool
195         prompt "Fancy alias parsing"
196         default y
197         depends on MODPROBE && FEATURE_2_6_MODULES
198         help
199           Say 'y' here to enable parsing of aliases with underscore/dash
200           mismatch between module name and file name, along with bus-specific
201           aliases (such as pci:... or usb:... aliases).
202
203 config FEATURE_MODPROBE_BLACKLIST
204         bool
205         prompt "Blacklist support"
206         default n
207         depends on MODPROBE && FEATURE_2_6_MODULES
208         help
209           Say 'y' here to enable support for the 'blacklist' command in
210           modprobe.conf. This prevents the alias resolver to resolve
211           blacklisted modules. This is useful if you want to prevent your
212           hardware autodetection scripts to load modules like evdev, frame
213           buffer drivers etc.
214
215 comment "Options common to multiple modutils"
216         depends on INSMOD || RMMOD || MODPROBE || LSMOD || DEPMOD
217
218 config FEATURE_CHECK_TAINTED_MODULE
219         # Simulate indentation
220         bool "Support tainted module checking with new kernels"
221         default y
222         depends on INSMOD || LSMOD
223         help
224           Support checking for tainted modules.  These are usually binary
225           only modules that will make the linux-kernel list ignore your
226           support request.
227           This option is required to support GPLONLY modules.
228
229 config FEATURE_2_4_MODULES
230         # Simulate indentation
231         bool "Support version 2.2.x to 2.4.x Linux kernels"
232         default y
233         depends on INSMOD || RMMOD || MODPROBE
234         help
235           Support module loading for 2.2.x and 2.4.x Linux kernels.
236
237           Note:
238           This is automatically enabled if 2.6 modules are not enabled.
239
240 config FEATURE_2_6_MODULES
241         # Simulate indentation
242         bool "Support version 2.6.x Linux kernels"
243         default y
244         depends on INSMOD || RMMOD || MODPROBE
245         help
246           Support module loading for newer 2.6.x Linux kernels.
247
248 config DEFAULT_MODULES_DIR
249         # Simulate indentation
250         string "Default directory containing modules"
251         default "/lib/modules"
252         depends on INSMOD || RMMOD || MODPROBE || MODPROBE_SMALL || DEPMOD
253         help
254           Directory that contains kernel modules.
255           Defaults to "/lib/modules"
256
257 config DEFAULT_DEPMOD_FILE
258         # Simulate indentation
259         string "Default name of modules.dep"
260         default "modules.dep"
261         depends on INSMOD || RMMOD || MODPROBE || MODPROBE_SMALL || DEPMOD
262         help
263           Filename that contains kernel modules dependencies.
264           Defaults to "modules.dep"
265
266 config FEATURE_QUERY_MODULE_INTERFACE
267         bool
268         default y
269         depends on FEATURE_2_4_MODULES && !FEATURE_2_6_MODULES
270
271 endmenu