blob: fae747de9cafd4f07439b5a90790195020178bb3
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 | As of 2008-07, this code is experimental. It is 14kb smaller |
42 | than "non-small" modutils. |
43 | |
44 | config FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE |
45 | bool "Accept module options on modprobe command line" |
46 | default y |
47 | depends on MODPROBE_SMALL || MODPROBE |
48 | select PLATFORM_LINUX |
49 | help |
50 | Allow insmod and modprobe take module options from command line. |
51 | |
52 | config FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED |
53 | bool "Skip loading of already loaded modules" |
54 | default y |
55 | depends on MODPROBE_SMALL || MODPROBE |
56 | help |
57 | Check if the module is already loaded. |
58 | |
59 | config INSMOD |
60 | bool "insmod" |
61 | default n |
62 | depends on !MODPROBE_SMALL |
63 | select PLATFORM_LINUX |
64 | help |
65 | insmod is used to load specified modules in the running kernel. |
66 | |
67 | config RMMOD |
68 | bool "rmmod" |
69 | default n |
70 | depends on !MODPROBE_SMALL |
71 | select PLATFORM_LINUX |
72 | help |
73 | rmmod is used to unload specified modules from the kernel. |
74 | |
75 | config LSMOD |
76 | bool "lsmod" |
77 | default n |
78 | depends on !MODPROBE_SMALL |
79 | select PLATFORM_LINUX |
80 | help |
81 | lsmod is used to display a list of loaded modules. |
82 | |
83 | config FEATURE_LSMOD_PRETTY_2_6_OUTPUT |
84 | bool "Pretty output" |
85 | default n |
86 | depends on LSMOD |
87 | select PLATFORM_LINUX |
88 | help |
89 | This option makes output format of lsmod adjusted to |
90 | the format of module-init-tools for Linux kernel 2.6. |
91 | Increases size somewhat. |
92 | |
93 | config MODPROBE |
94 | bool "modprobe" |
95 | default n |
96 | depends on !MODPROBE_SMALL |
97 | select PLATFORM_LINUX |
98 | help |
99 | Handle the loading of modules, and their dependencies on a high |
100 | level. |
101 | |
102 | config FEATURE_MODPROBE_BLACKLIST |
103 | bool "Blacklist support" |
104 | default n |
105 | depends on MODPROBE |
106 | select PLATFORM_LINUX |
107 | help |
108 | 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 |
112 | buffer drivers etc. |
113 | |
114 | config DEPMOD |
115 | bool "depmod" |
116 | default n |
117 | depends on !MODPROBE_SMALL |
118 | select PLATFORM_LINUX |
119 | help |
120 | depmod generates modules.dep (and potentially modules.alias |
121 | and modules.symbols) that contain dependency information |
122 | for modprobe. |
123 | |
124 | comment "Options common to multiple modutils" |
125 | |
126 | config FEATURE_2_4_MODULES |
127 | bool "Support version 2.2/2.4 Linux kernels" |
128 | default n |
129 | depends on INSMOD || RMMOD || LSMOD |
130 | select PLATFORM_LINUX |
131 | 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 | |
136 | config FEATURE_INSMOD_TRY_MMAP |
137 | bool "Try to load module from a mmap'ed area" |
138 | default n |
139 | depends on INSMOD || MODPROBE_SMALL |
140 | select PLATFORM_LINUX |
141 | 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 | |
153 | config FEATURE_INSMOD_VERSION_CHECKING |
154 | bool "Enable module version checking" |
155 | default n |
156 | depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE) |
157 | select PLATFORM_LINUX |
158 | 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 | |
162 | config 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) |
166 | select PLATFORM_LINUX |
167 | 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 |
171 | table for proper debugging support. If you are not interested in |
172 | Oops messages from kernel modules, say N. |
173 | |
174 | config FEATURE_INSMOD_LOADINKMEM |
175 | bool "In kernel memory optimization (uClinux only)" |
176 | default n |
177 | depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE) |
178 | select PLATFORM_LINUX |
179 | 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 | |
185 | config FEATURE_INSMOD_LOAD_MAP |
186 | bool "Enable insmod load map (-m) option" |
187 | default n |
188 | depends on FEATURE_2_4_MODULES && INSMOD |
189 | select PLATFORM_LINUX |
190 | 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 | |
197 | config FEATURE_INSMOD_LOAD_MAP_FULL |
198 | bool "Symbols in load map" |
199 | default y |
200 | depends on FEATURE_INSMOD_LOAD_MAP && !MODPROBE_SMALL |
201 | select PLATFORM_LINUX |
202 | help |
203 | Without this option, -m will only output section |
204 | load map. With this option, -m will also output |
205 | symbols load map. |
206 | |
207 | config FEATURE_CHECK_TAINTED_MODULE |
208 | bool "Support tainted module checking with new kernels" |
209 | default y |
210 | depends on (LSMOD || FEATURE_2_4_MODULES) && !MODPROBE_SMALL |
211 | select PLATFORM_LINUX |
212 | help |
213 | Support checking for tainted modules. These are usually binary |
214 | only modules that will make the linux-kernel list ignore your |
215 | support request. |
216 | This option is required to support GPLONLY modules. |
217 | |
218 | config FEATURE_MODUTILS_ALIAS |
219 | bool "Support for module.aliases file" |
220 | default y |
221 | depends on DEPMOD || MODPROBE |
222 | select PLATFORM_LINUX |
223 | help |
224 | Generate and parse modules.alias containing aliases for bus |
225 | identifiers: |
226 | alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs |
227 | |
228 | and aliases for logical modules names e.g.: |
229 | alias padlock_aes aes |
230 | alias aes_i586 aes |
231 | alias aes_generic aes |
232 | |
233 | Say Y if unsure. |
234 | |
235 | config FEATURE_MODUTILS_SYMBOLS |
236 | bool "Support for module.symbols file" |
237 | default y |
238 | depends on DEPMOD || MODPROBE |
239 | select PLATFORM_LINUX |
240 | help |
241 | Generate and parse modules.symbols containing aliases for |
242 | symbol_request() kernel calls, such as: |
243 | alias symbol:usb_sg_init usbcore |
244 | |
245 | Say Y if unsure. |
246 | |
247 | config DEFAULT_DEPMOD_FILE |
248 | string "Default name of modules.dep" |
249 | default "modules.dep" |
250 | depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO |
251 | help |
252 | Filename that contains kernel modules dependencies. |
253 | Defaults to "modules.dep" |
254 | |
255 | endmenu |
256 |