X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/f52d66ff00b24111f87c274d3d7085ef2e1d27b1..1deca2707326574a6ee8e1c58158506885ec7e44:/package/busybox/config/modutils/Config.in diff --git a/package/busybox/config/modutils/Config.in b/package/busybox/config/modutils/Config.in index 4441632e8..9ec54b1e9 100644 --- a/package/busybox/config/modutils/Config.in +++ b/package/busybox/config/modutils/Config.in @@ -5,35 +5,145 @@ 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 @@ -41,9 +151,9 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_LOADINKMEM 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 @@ -54,94 +164,63 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP 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 -