Start 1.33.0 development cycle
[oweals/busybox.git] / modutils / Config.src
1 #
2 # For a description of the syntax of this configuration file,
3 # see docs/Kconfig-language.txt.
4 #
5
6 menu "Linux Module Utilities"
7
8 config MODPROBE_SMALL
9         bool "Simplified modutils"
10         default y
11         help
12         Build smaller (~1.5 kbytes), simplified module tools.
13
14         This option by itself does not enable any applets -
15         you need to select applets individually below.
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 INSERT
37
38 comment "Options common to multiple modutils"
39
40 config FEATURE_CMDLINE_MODULE_OPTIONS
41         bool "Accept module options on modprobe command line"
42         default y
43         depends on INSMOD || MODPROBE
44         help
45         Allow insmod and modprobe take module options from the applets'
46         command line.
47
48 config FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
49         bool "Skip loading of already loaded modules"
50         default y
51         depends on MODPROBE_SMALL && (DEPMOD || INSMOD || MODPROBE)
52         help
53         Check if the module is already loaded.
54
55 config FEATURE_2_4_MODULES
56         bool "Support version 2.2/2.4 Linux kernels"
57         default n
58         depends on (INSMOD || LSMOD || MODPROBE || RMMOD) && !MODPROBE_SMALL
59         help
60         Support module loading for 2.2.x and 2.4.x Linux kernels.
61         This increases size considerably. Say N unless you plan
62         to run ancient kernels.
63
64 config FEATURE_INSMOD_VERSION_CHECKING
65         bool "Enable module version checking"
66         default n
67         depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE)
68         help
69         Support checking of versions for modules. This is used to
70         ensure that the kernel and module are made for each other.
71
72 config FEATURE_INSMOD_KSYMOOPS_SYMBOLS
73         bool "Add module symbols to kernel symbol table"
74         default n
75         depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE)
76         help
77         By adding module symbols to the kernel symbol table, Oops messages
78         occurring within kernel modules can be properly debugged. By enabling
79         this feature, module symbols will always be added to the kernel symbol
80         table for proper debugging support. If you are not interested in
81         Oops messages from kernel modules, say N.
82
83 config FEATURE_INSMOD_LOADINKMEM
84         bool "In kernel memory optimization (uClinux only)"
85         default n
86         depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE)
87         help
88         This is a special uClinux only memory optimization that lets insmod
89         load the specified kernel module directly into kernel space, reducing
90         memory usage by preventing the need for two copies of the module
91         being loaded into memory.
92
93 config FEATURE_INSMOD_LOAD_MAP
94         bool "Enable insmod load map (-m) option"
95         default n
96         depends on FEATURE_2_4_MODULES && INSMOD
97         help
98         Enabling this, one would be able to get a load map
99         output on stdout. This makes kernel module debugging
100         easier.
101         If you don't plan to debug kernel modules, you
102         don't need this option.
103
104 config FEATURE_INSMOD_LOAD_MAP_FULL
105         bool "Symbols in load map"
106         default y
107         depends on FEATURE_INSMOD_LOAD_MAP
108         help
109         Without this option, -m will only output section
110         load map. With this option, -m will also output
111         symbols load map.
112
113 config FEATURE_CHECK_TAINTED_MODULE
114         bool "Support tainted module checking with new kernels"
115         default y
116         depends on (LSMOD || FEATURE_2_4_MODULES) && !MODPROBE_SMALL
117         help
118         Support checking for tainted modules. These are usually binary
119         only modules that will make the linux-kernel list ignore your
120         support request.
121         This option is required to support GPLONLY modules.
122
123 config FEATURE_INSMOD_TRY_MMAP
124         bool "Try to load module from a mmap'ed area"
125         default n
126         depends on (INSMOD || MODPROBE) && !MODPROBE_SMALL
127         help
128         This option causes module loading code to try to mmap
129         module first. If it does not work (for example,
130         it does not work for compressed modules), module will be read
131         (and unpacked if needed) into a memory block allocated by malloc.
132
133         The only case when mmap works but malloc does not is when
134         you are trying to load a big module on a very memory-constrained
135         machine. Malloc will momentarily need 2x as much memory as mmap.
136
137         Choosing N saves about 250 bytes of code (on 32-bit x86).
138
139 config FEATURE_MODUTILS_ALIAS
140         bool "Support module.aliases file"
141         default y
142         depends on (DEPMOD || MODPROBE) && !MODPROBE_SMALL
143         help
144         Generate and parse modules.alias containing aliases for bus
145         identifiers:
146                 alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs
147
148         and aliases for logical modules names e.g.:
149                 alias padlock_aes aes
150                 alias aes_i586 aes
151                 alias aes_generic aes
152
153         Say Y if unsure.
154
155 config FEATURE_MODUTILS_SYMBOLS
156         bool "Support module.symbols file"
157         default y
158         depends on (DEPMOD || MODPROBE) && !MODPROBE_SMALL
159         help
160         Generate and parse modules.symbols containing aliases for
161         symbol_request() kernel calls, such as:
162                 alias symbol:usb_sg_init usbcore
163
164         Say Y if unsure.
165
166 config DEFAULT_MODULES_DIR
167         string "Default directory containing modules"
168         default "/lib/modules"
169         depends on DEPMOD || MODPROBE || MODINFO
170         help
171         Directory that contains kernel modules.
172         Defaults to "/lib/modules"
173
174 config DEFAULT_DEPMOD_FILE
175         string "Default name of modules.dep"
176         default "modules.dep"
177         depends on DEPMOD || MODPROBE || MODINFO
178         help
179         Filename that contains kernel modules dependencies.
180         Defaults to "modules.dep".
181         If you configured the "simplified modutils" (MODPROBE_SMALL), a
182         ".bb" suffix will be added after this name. Do not specify ".bb"
183         here unless you intend your depmod or modprobe to work on
184         "modules.dep.bb.bb" or such.
185
186 endmenu