menu "Linux Module Utilities"
-config CONFIG_INSMOD
- bool "insmod"
+config MODPROBE_SMALL
+ bool "Simplified modutils"
default n
help
- insmod is used to load specified modules in the running kernel.
+ Simplified modutils.
-config CONFIG_FEATURE_INSMOD_VERSION_CHECKING
- bool "Module version checking"
- default n
- depends on CONFIG_INSMOD && CONFIG_FEATURE_2_4_MODULES
- help
- Support checking of versions for modules. This is used to
- ensure that the kernel and module are made for each other.
+ 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_).
-config CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
- bool "Add module symbols to kernel symbol table"
- default n
- depends on CONFIG_INSMOD && CONFIG_FEATURE_2_4_MODULES
- 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 properly debugging support. If you are not interested in
- Oops messages from kernel modules, say N.
+ 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.
-config CONFIG_FEATURE_INSMOD_LOADINKMEM
- bool "In kernel memory optimization (uClinux only)"
+ 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
+
+ As of 2008-07, this code is experimental. It is 14kb smaller
+ than "non-small" modutils.
+
+config FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
+ bool "Accept module options on modprobe command line"
default n
- depends on CONFIG_INSMOD && CONFIG_FEATURE_2_4_MODULES
+ depends on MODPROBE_SMALL
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.
+ Allow insmod and modprobe take module options from command line.
-config CONFIG_FEATURE_INSMOD_LOAD_MAP
- bool "Enable load map (-m) option"
+config FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
+ bool "Skip loading of already loaded modules"
default n
- depends on CONFIG_INSMOD && CONFIG_FEATURE_2_4_MODULES
+ depends on MODPROBE_SMALL
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.
+ Check if the module is already loaded.
-config CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL
- bool "Symbols in load map"
- default y
- depends on CONFIG_FEATURE_INSMOD_LOAD_MAP
+config INSMOD
+ bool "insmod"
+ default n
+ depends on !MODPROBE_SMALL
help
- Without this option, -m will only output section
- load map. With this option, -m will also output
- symbols load map.
+ insmod is used to load specified modules in the running kernel.
-config CONFIG_RMMOD
+config RMMOD
bool "rmmod"
default n
+ depends on !MODPROBE_SMALL
help
rmmod is used to unload specified modules from the kernel.
-config CONFIG_LSMOD
+config LSMOD
bool "lsmod"
default n
+ depends on !MODPROBE_SMALL
help
lsmod is used to display a list of loaded modules.
-config CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
- bool "lsmod pretty output for 2.6.x Linux kernels "
+config FEATURE_LSMOD_PRETTY_2_6_OUTPUT
+ bool "Pretty output"
default n
- depends on CONFIG_LSMOD
+ depends on LSMOD
help
This option makes output format of lsmod adjusted to
the format of module-init-tools for Linux kernel 2.6.
+ Increases size somewhat.
-config CONFIG_MODPROBE
+config MODPROBE
bool "modprobe"
default n
+ depends on !MODPROBE_SMALL
help
Handle the loading of modules, and their dependencies on a high
level.
- Note that in the state, modprobe does not understand multiple
- module options from the configuration file. See option below.
+config FEATURE_MODPROBE_BLACKLIST
+ bool "Blacklist support"
+ default n
+ depends on MODPROBE
+ help
+ Say 'y' here to enable support for the 'blacklist' command in
+ modprobe.conf. This prevents the alias resolver to resolve
+ blacklisted modules. This is useful if you want to prevent your
+ hardware autodetection scripts to load modules like evdev, frame
+ buffer drivers etc.
+
+config DEPMOD
+ bool "depmod"
+ default n
+ depends on !MODPROBE_SMALL
+ help
+ depmod generates modules.dep (and potentially modules.alias
+ and modules.symbols) that contain dependency information
+ for modprobe.
-config CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS
- bool "Multiple options parsing"
- default y
- depends on CONFIG_MODPROBE
+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
+ 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
help
- Allow modprobe to understand more than one option to pass to
- modules.
+ 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.
- This is a WIP, while waiting for a common argument parsing
- common amongst all BB applets (shell, modprobe, etc...) and
- adds around 600 bytes on x86, 700 bytes on ARM. The code is
- biggish and uggly, but just works.
+ 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.
- Saying Y here is not a bad idea if you're not that short
- on storage capacity.
+ Choosing N saves about 250 bytes of code (on 32-bit x86).
-comment "Options common to multiple modutils"
- depends on CONFIG_INSMOD || CONFIG_RMMOD || CONFIG_MODPROBE || CONFIG_LSMOD
+config FEATURE_INSMOD_VERSION_CHECKING
+ bool "Enable module version checking"
+ default n
+ depends on FEATURE_2_4_MODULES && (INSMOD || MODPROBE)
+ 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)
+ 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)
+ 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 CONFIG_FEATURE_CHECK_TAINTED_MODULE
- # Simulate indentation
+config FEATURE_INSMOD_LOAD_MAP
+ bool "Enable insmod load map (-m) option"
+ default n
+ depends on FEATURE_2_4_MODULES && INSMOD
+ 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
+ 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 CONFIG_INSMOD || CONFIG_LSMOD
+ depends on (LSMOD || FEATURE_2_4_MODULES) && !MODPROBE_SMALL
help
- Support checking for tainted modules. These are usually binary
+ 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 CONFIG_FEATURE_2_4_MODULES
- # Simulate indentation
- bool "Support version 2.2.x to 2.4.x Linux kernels"
+config FEATURE_MODUTILS_ALIAS
+ bool "Support for module.aliases file"
default y
- depends on CONFIG_INSMOD || CONFIG_RMMOD
+ depends on DEPMOD || MODPROBE
help
- Support module loading for 2.2.x and 2.4.x Linux kernels.
+ 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
-config CONFIG_FEATURE_2_6_MODULES
- # Simulate indentation
- bool "Support version 2.6.x Linux kernels"
+ Say Y if unsure.
+
+config FEATURE_MODUTILS_SYMBOLS
+ bool "Support for module.symbols file"
default y
- depends on CONFIG_INSMOD || CONFIG_RMMOD || CONFIG_MODPROBE
+ depends on DEPMOD || MODPROBE
help
- Support module loading for newer 2.6.x Linux kernels.
+ 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 CONFIG_FEATURE_QUERY_MODULE_INTERFACE
- bool
- default y
- depends on CONFIG_FEATURE_2_4_MODULES && !CONFIG_FEATURE_2_6_MODULES
+config DEFAULT_MODULES_DIR
+ string "Default directory containing modules"
+ default "/lib/modules"
+ depends on DEPMOD || MODPROBE || MODPROBE_SMALL
+ 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
+ help
+ Filename that contains kernel modules dependencies.
+ Defaults to "modules.dep"
endmenu
-