menu "Linux Module Utilities"
+config BUSYBOX_CONFIG_MODPROBE_SMALL
+ bool "Simplified modutils"
+ default n
+ 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
+
+ As of 2008-07, this code is experimental. It is 14kb smaller
+ than "non-small" modutils.
+
+config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
+ bool "Accept module options on modprobe command line"
+ default n
+ depends on BUSYBOX_CONFIG_MODPROBE_SMALL
+ help
+ Allow insmod and modprobe take module options from command line.
+
+config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
+ bool "Skip loading of already loaded modules"
+ default n
+ depends on BUSYBOX_CONFIG_MODPROBE_SMALL
+ help
+ Check if the module is already loaded.
+
config BUSYBOX_CONFIG_INSMOD
bool "insmod"
default y
+ depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
help
insmod is used to load specified modules in the running kernel.
+config BUSYBOX_CONFIG_RMMOD
+ bool "rmmod"
+ default y
+ depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
+ help
+ rmmod is used to unload specified modules from the kernel.
+
+config BUSYBOX_CONFIG_LSMOD
+ bool "lsmod"
+ default y
+ depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
+ help
+ lsmod is used to display a list of loaded modules.
+
+config BUSYBOX_CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
+ bool "Pretty output"
+ default y
+ depends on BUSYBOX_CONFIG_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 BUSYBOX_CONFIG_MODPROBE
+ bool "modprobe"
+ default n
+ depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
+ help
+ Handle the loading of modules, and their dependencies on a high
+ level.
+
+config BUSYBOX_CONFIG_FEATURE_MODPROBE_BLACKLIST
+ bool "Blacklist support"
+ default n
+ depends on BUSYBOX_CONFIG_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 BUSYBOX_CONFIG_DEPMOD
+ bool "depmod"
+ default n
+ depends on !BUSYBOX_CONFIG_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"
+
+config BUSYBOX_CONFIG_FEATURE_2_4_MODULES
+ bool "Support version 2.2/2.4 Linux kernels"
+ default n
+ depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_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 BUSYBOX_CONFIG_FEATURE_INSMOD_VERSION_CHECKING
- bool "Module version checking"
+ bool "Enable module version checking"
default n
- depends on BUSYBOX_CONFIG_INSMOD && BUSYBOX_CONFIG_FEATURE_2_4_MODULES
+ depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)
help
- Support checking of versions for modules. This is used to
+ Support checking of versions for modules. This is used to
ensure that the kernel and module are made for each other.
config BUSYBOX_CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
bool "Add module symbols to kernel symbol table"
default n
- depends on BUSYBOX_CONFIG_INSMOD && BUSYBOX_CONFIG_FEATURE_2_4_MODULES
+ depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)
help
By adding module symbols to the kernel symbol table, Oops messages
- occuring within kernel modules can be properly debugged. By enabling
+ 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
+ table for proper debugging support. If you are not interested in
Oops messages from kernel modules, say N.
config BUSYBOX_CONFIG_FEATURE_INSMOD_LOADINKMEM
bool "In kernel memory optimization (uClinux only)"
default n
- depends on BUSYBOX_CONFIG_INSMOD && BUSYBOX_CONFIG_FEATURE_2_4_MODULES
+ depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)
help
This is a special uClinux only memory optimization that lets insmod
load the specified kernel module directly into kernel space, reducing
being loaded into memory.
config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP
- bool "Enable load map (-m) option"
+ bool "Enable insmod load map (-m) option"
default n
- depends on BUSYBOX_CONFIG_INSMOD && BUSYBOX_CONFIG_FEATURE_2_4_MODULES
+ depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && BUSYBOX_CONFIG_INSMOD
help
Enabling this, one would be able to get a load map
output on stdout. This makes kernel module debugging
config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL
bool "Symbols in load map"
default n
- depends on BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP
+ depends on BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP && !BUSYBOX_CONFIG_MODPROBE_SMALL
help
Without this option, -m will only output section
- load map. With this option, -m will also output
+ load map. With this option, -m will also output
symbols load map.
-config BUSYBOX_CONFIG_RMMOD
- bool "rmmod"
- default y
- help
- rmmod is used to unload specified modules from the kernel.
-
-config BUSYBOX_CONFIG_LSMOD
- bool "lsmod"
+config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
+ bool "Support tainted module checking with new kernels"
default y
+ depends on (BUSYBOX_CONFIG_LSMOD || BUSYBOX_CONFIG_FEATURE_2_4_MODULES) && !BUSYBOX_CONFIG_MODPROBE_SMALL
help
- lsmod is used to display a list of loaded modules.
+ 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 BUSYBOX_CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
- bool "lsmod pretty output for 2.6.x Linux kernels "
+config BUSYBOX_CONFIG_FEATURE_MODUTILS_ALIAS
+ bool "Support for module.aliases file"
default n
- depends on BUSYBOX_CONFIG_LSMOD
+ depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE
help
- This option makes output format of lsmod adjusted to
- the format of module-init-tools for Linux kernel 2.6.
+ Generate and parse modules.alias containing aliases for bus
+ identifiers:
+ alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs
-config BUSYBOX_CONFIG_MODPROBE
- bool "modprobe"
- default n
- help
- Handle the loading of modules, and their dependencies on a high
- level.
+ and aliases for logical modules names e.g.:
+ alias padlock_aes aes
+ alias aes_i586 aes
+ alias aes_generic aes
- Note that in the state, modprobe does not understand multiple
- module options from the configuration file. See option below.
+ Say Y if unsure.
-config BUSYBOX_CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS
- bool "Multiple options parsing"
+config BUSYBOX_CONFIG_FEATURE_MODUTILS_SYMBOLS
+ bool "Support for module.symbols file"
default n
- depends on BUSYBOX_CONFIG_MODPROBE
+ depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_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.
+ Generate and parse modules.symbols containing aliases for
+ symbol_request() kernel calls, such as:
+ alias symbol:usb_sg_init usbcore
-comment "Options common to multiple modutils"
- depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_LSMOD
-
-config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
- # Simulate indentation
- bool "Support tainted module checking with new kernels"
- default y
- depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_LSMOD
- 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.
+ Say Y if unsure.
-config BUSYBOX_CONFIG_FEATURE_2_4_MODULES
- # Simulate indentation
- bool "Support version 2.2.x to 2.4.x Linux kernels"
- default y
- depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD
+config BUSYBOX_CONFIG_DEFAULT_MODULES_DIR
+ string "Default directory containing modules"
+ default "/lib/modules"
+ depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL
help
- Support module loading for 2.2.x and 2.4.x Linux kernels.
+ Directory that contains kernel modules.
+ Defaults to "/lib/modules"
-config BUSYBOX_CONFIG_FEATURE_2_6_MODULES
- # Simulate indentation
- bool "Support version 2.6.x Linux kernels"
- default y
- depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_MODPROBE
+config BUSYBOX_CONFIG_DEFAULT_DEPMOD_FILE
+ string "Default name of modules.dep"
+ default "modules.dep"
+ depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL
help
- Support module loading for newer 2.6.x Linux kernels.
-
-
-config BUSYBOX_CONFIG_FEATURE_QUERY_MODULE_INTERFACE
- bool
- default n
- depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && !CONFIG_FEATURE_2_6_MODULES
-
+ Filename that contains kernel modules dependencies.
+ Defaults to "modules.dep"
endmenu
-