busybox/modutils/Config.src
Kang-Che Sung 065e988e7a modutils: fix config options dependency
module.aliases and module.symbols files have no use in modprobe-small
implementation. So FEATURE_MODUTILS_ALIAS and FEATURE_MODUTILS_SYMBOLS
will depend on !MODPROBE_SMALL.

The try_to_mmap_module() function is not called in modprobe-small.c,
so I will let FEATURE_INSMOD_TRY_MMAP depend on !MODPROBE_SMALL for
now.

Signed-off-by: Kang-Che Sung <explorer09@gmail.com>

Likewise, FEATURE_2_4_MODULES is not used by modprobe-small.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-01-30 19:14:50 +01:00

181 lines
5.7 KiB
Plaintext

#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#
menu "Linux Module Utilities"
config MODPROBE_SMALL
bool "Simplified modutils"
default y
select PLATFORM_LINUX
help
Simplified modutils.
With this option modprobe does not require modules.dep file
and does not use /etc/modules.conf file.
It scans module files in /lib/modules/`uname -r` and
determines dependencies and module alias names on the fly.
This may make module loading slower, most notably
when one needs to load module by alias (this requires
scanning through module _bodies_).
At the first attempt to load a module by alias modprobe
will try to generate modules.dep.bb file in order to speed up
future loads by alias. Failure to do so (read-only /lib/modules,
etc) is not reported, and future modprobes will be slow too.
NB: modules.dep.bb file format is not compatible
with modules.dep file as created/used by standard module tools.
Additional module parameters can be stored in
/etc/modules/$module_name files.
Apart from modprobe, other utilities are also provided:
- insmod is an alias to modprobe
- rmmod is an alias to modprobe -r
- depmod generates modules.dep.bb
INSERT
comment "Options common to multiple modutils"
config FEATURE_2_4_MODULES
bool "Support version 2.2/2.4 Linux kernels"
default n
depends on (INSMOD || RMMOD || LSMOD) && !MODPROBE_SMALL
select PLATFORM_LINUX
help
Support module loading for 2.2.x and 2.4.x Linux kernels.
This increases size considerably. Say N unless you plan
to run ancient kernels.
config FEATURE_INSMOD_TRY_MMAP
bool "Try to load module from a mmap'ed area"
default n
depends on INSMOD && !MODPROBE_SMALL
select PLATFORM_LINUX
help
This option causes module loading code to try to mmap
module first. If it does not work (for example,
it does not work for compressed modules), module will be read
(and unpacked if needed) into a memory block allocated by malloc.
The only case when mmap works but malloc does not is when
you are trying to load a big module on a very memory-constrained
machine. Malloc will momentarily need 2x as much memory as mmap.
Choosing N saves about 250 bytes of code (on 32-bit x86).
config FEATURE_INSMOD_VERSION_CHECKING
bool "Enable module version checking"
default n
depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE)
select PLATFORM_LINUX
help
Support checking of versions for modules. This is used to
ensure that the kernel and module are made for each other.
config FEATURE_INSMOD_KSYMOOPS_SYMBOLS
bool "Add module symbols to kernel symbol table"
default n
depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE)
select PLATFORM_LINUX
help
By adding module symbols to the kernel symbol table, Oops messages
occuring within kernel modules can be properly debugged. By enabling
this feature, module symbols will always be added to the kernel symbol
table for proper debugging support. If you are not interested in
Oops messages from kernel modules, say N.
config FEATURE_INSMOD_LOADINKMEM
bool "In kernel memory optimization (uClinux only)"
default n
depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE)
select PLATFORM_LINUX
help
This is a special uClinux only memory optimization that lets insmod
load the specified kernel module directly into kernel space, reducing
memory usage by preventing the need for two copies of the module
being loaded into memory.
config FEATURE_INSMOD_LOAD_MAP
bool "Enable insmod load map (-m) option"
default n
depends on FEATURE_2_4_MODULES && INSMOD
select PLATFORM_LINUX
help
Enabling this, one would be able to get a load map
output on stdout. This makes kernel module debugging
easier.
If you don't plan to debug kernel modules, you
don't need this option.
config FEATURE_INSMOD_LOAD_MAP_FULL
bool "Symbols in load map"
default y
depends on FEATURE_INSMOD_LOAD_MAP && !MODPROBE_SMALL
select PLATFORM_LINUX
help
Without this option, -m will only output section
load map. With this option, -m will also output
symbols load map.
config FEATURE_CHECK_TAINTED_MODULE
bool "Support tainted module checking with new kernels"
default y
depends on (LSMOD || FEATURE_2_4_MODULES) && !MODPROBE_SMALL
select PLATFORM_LINUX
help
Support checking for tainted modules. These are usually binary
only modules that will make the linux-kernel list ignore your
support request.
This option is required to support GPLONLY modules.
config FEATURE_MODUTILS_ALIAS
bool "Support module.aliases file"
default y
depends on (DEPMOD || MODPROBE) && !MODPROBE_SMALL
select PLATFORM_LINUX
help
Generate and parse modules.alias containing aliases for bus
identifiers:
alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs
and aliases for logical modules names e.g.:
alias padlock_aes aes
alias aes_i586 aes
alias aes_generic aes
Say Y if unsure.
config FEATURE_MODUTILS_SYMBOLS
bool "Support module.symbols file"
default y
depends on (DEPMOD || MODPROBE) && !MODPROBE_SMALL
select PLATFORM_LINUX
help
Generate and parse modules.symbols containing aliases for
symbol_request() kernel calls, such as:
alias symbol:usb_sg_init usbcore
Say Y if unsure.
config DEFAULT_MODULES_DIR
string "Default directory containing modules"
default "/lib/modules"
depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO
help
Directory that contains kernel modules.
Defaults to "/lib/modules"
config DEFAULT_DEPMOD_FILE
string "Default name of modules.dep"
default "modules.dep"
depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO
help
Filename that contains kernel modules dependencies.
Defaults to "modules.dep"
endmenu