X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/7272b6a3ccc07cfe3301059ca10900b8b9e99d09..86154153a622f87b6cc6209e355351975c82efb4:/package/busybox/config/modutils/Config.in?ds=inline diff --git a/package/busybox/config/modutils/Config.in b/package/busybox/config/modutils/Config.in index ee348f6fd..db515b547 100644 --- a/package/busybox/config/modutils/Config.in +++ b/package/busybox/config/modutils/Config.in @@ -5,49 +5,161 @@ 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_FEATURE_2_4_MODULES - bool " Support version 2.2.x to 2.4.x Linux kernels" +config BUSYBOX_CONFIG_RMMOD + bool "rmmod" default y - depends on BUSYBOX_CONFIG_INSMOD + depends on !BUSYBOX_CONFIG_MODPROBE_SMALL help - Support module loading for 2.2.x and 2.4.x Linux kernels. + rmmod is used to unload specified modules from the kernel. -config BUSYBOX_CONFIG_FEATURE_2_6_MODULES - bool " Support version 2.6.x Linux kernels" +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_INSMOD + depends on BUSYBOX_CONFIG_LSMOD help - Support module loading for newer 2.6.x Linux kernels. + 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_TRY_MMAP + bool "Try to load module from a mmap'ed area" + default n + depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_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 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" + 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)" + 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 @@ -55,9 +167,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 @@ -66,48 +178,65 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP don't need this option. config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL - bool " Symbols in load map" + 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_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. - -config BUSYBOX_CONFIG_FEATURE_QUERY_MODULE_INTERFACE - bool - default y - depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && !CONFIG_FEATURE_2_6_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_MODPROBE - bool "modprobe" +config BUSYBOX_CONFIG_FEATURE_MODUTILS_ALIAS + bool "Support for module.aliases file" default n + depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE help - Handle the loading of modules, and their dependancies on a high - level. + 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_RMMOD - bool "rmmod" - default y - help - rmmod is used to unload specified modules from the kernel. + and aliases for logical modules names e.g.: + alias padlock_aes aes + alias aes_i586 aes + alias aes_generic aes -config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE - bool "Support tainted module checking with new kernels" + Say Y if unsure. + +config BUSYBOX_CONFIG_FEATURE_MODUTILS_SYMBOLS + bool "Support for module.symbols file" default n - depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_LSMOD + depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE 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. + Generate and parse modules.symbols containing aliases for + symbol_request() kernel calls, such as: + alias symbol:usb_sg_init usbcore + Say Y if unsure. -endmenu +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 + Directory that contains kernel modules. + Defaults to "/lib/modules" + +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 + Filename that contains kernel modules dependencies. + Defaults to "modules.dep" +endmenu