menu "Linux Module Utilities"
-config DEPMOD
- bool "depmod"
+config MODPROBE_SMALL
+ bool "Simplified modutils"
default n
help
- depmod generates modules.dep (FIXME: elaborate)
+ Simplified modutils.
-config FEATURE_DEPMOD_PRUNE_FANCY
- bool "fancy dependency pruning"
- default n
- depends on DEPMOD
- help
- By default modules.dep contains all dependencies as listed by
- the modules.
- If you enable this option then we remove implied modules from
- the dependencies.
- This makes depmod somewhat bigger but generates a smaller
- modules.dep file.
+ 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_).
- If unsure, 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 FEATURE_DEPMOD_ALIAS
- bool "alias support"
- default n
- depends on DEPMOD
- help
- By default modules.dep does not contain alias information.
- Enable this to emit aliases of the form:
+ NB: modules.dep.bb file format is not compatible
+ with modules.dep file as created/used by standard module tools.
- alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs
+ Additional module parameters can be stored in
+ /etc/modules/$module_name files.
-config INSMOD
- bool "insmod"
- default n
- help
- insmod is used to load specified modules in the running kernel.
+ 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
-config FEATURE_INSMOD_VERSION_CHECKING
- bool "Module version checking"
- default n
- depends on INSMOD && 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.
+ As of 2008-07, this code is experimental. It is 14kb smaller
+ than "non-small" modutils.
-config FEATURE_INSMOD_KSYMOOPS_SYMBOLS
- bool "Add module symbols to kernel symbol table"
+config FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
+ bool "Accept module options on modprobe command line"
default n
- depends on INSMOD && FEATURE_2_4_MODULES
+ depends on MODPROBE_SMALL
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.
+ Allow insmod and modprobe take module options from command line.
-config FEATURE_INSMOD_LOADINKMEM
- bool "In kernel memory optimization (uClinux only)"
+config FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
+ bool "Skip loading of already loaded modules"
default n
- depends on INSMOD && 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.
+ Check if the module is already loaded.
-config FEATURE_INSMOD_LOAD_MAP
- bool "Enable load map (-m) option"
+config INSMOD
+ bool "insmod"
default n
- depends on INSMOD && ( FEATURE_2_4_MODULES || FEATURE_2_6_MODULES )
- 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
+ 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 RMMOD
bool "rmmod"
default n
+ depends on !MODPROBE_SMALL
help
rmmod is used to unload specified modules from the kernel.
config LSMOD
bool "lsmod"
default n
+ depends on !MODPROBE_SMALL
help
lsmod is used to display a list of loaded modules.
config FEATURE_LSMOD_PRETTY_2_6_OUTPUT
- bool "Pretty output for 2.6.x Linux kernels"
+ bool "Pretty output"
default n
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 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_MULTIPLE_OPTIONS
- bool
- prompt "Multiple options parsing"
- default y
- depends on MODPROBE
- help
- Allow modprobe to understand more than one option to pass to
- modules.
-
- 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.
-
- Saying Y here is not a bad idea if you're not that short
- on storage capacity.
-
-config FEATURE_MODPROBE_FANCY_ALIAS
- bool
- prompt "Fancy alias parsing"
- default y
- depends on MODPROBE && FEATURE_2_6_MODULES
- help
- Say 'y' here to enable parsing of aliases with underscore/dash
- mismatch between module name and file name, along with bus-specific
- aliases (such as pci:... or usb:... aliases).
-
config FEATURE_MODPROBE_BLACKLIST
- bool
- prompt "Blacklist support"
+ bool "Blacklist support"
default n
- depends on MODPROBE && FEATURE_2_6_MODULES
+ depends on MODPROBE
help
Say 'y' here to enable support for the 'blacklist' command in
modprobe.conf. This prevents the alias resolver to resolve
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.
+
comment "Options common to multiple modutils"
- depends on INSMOD || RMMOD || MODPROBE || LSMOD || DEPMOD
+
+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
+ 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)
+ 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 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
- # Simulate indentation
bool "Support tainted module checking with new kernels"
default y
- depends on INSMOD || 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 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 INSMOD || RMMOD || MODPROBE
+ 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
- Note:
- This is automatically enabled if 2.6 modules are not enabled.
+ Say Y if unsure.
-config FEATURE_2_6_MODULES
- # Simulate indentation
- bool "Support version 2.6.x Linux kernels"
+config FEATURE_MODUTILS_SYMBOLS
+ bool "Support for module.symbols file"
default y
- depends on INSMOD || RMMOD || 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 DEFAULT_MODULES_DIR
- # Simulate indentation
string "Default directory containing modules"
default "/lib/modules"
- depends on INSMOD || RMMOD || MODPROBE || DEPMOD
+ depends on DEPMOD || MODPROBE || MODPROBE_SMALL
help
Directory that contains kernel modules.
Defaults to "/lib/modules"
config DEFAULT_DEPMOD_FILE
- # Simulate indentation
string "Default name of modules.dep"
default "modules.dep"
- depends on INSMOD || RMMOD || MODPROBE || DEPMOD
+ depends on DEPMOD || MODPROBE || MODPROBE_SMALL
help
Filename that contains kernel modules dependencies.
Defaults to "modules.dep"
-config FEATURE_QUERY_MODULE_INTERFACE
- bool
- default y
- depends on FEATURE_2_4_MODULES && !FEATURE_2_6_MODULES
-
endmenu