X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/ac2d02c3e08c4c3d62859bffb4dd3bb891b3d5c6..e2bae31171dc8902098c6e79b3f651d2fb4899ef:/package/busybox/config/modutils/Config.in diff --git a/package/busybox/config/modutils/Config.in b/package/busybox/config/modutils/Config.in index 63a3f71fb..77f98581f 100644 --- a/package/busybox/config/modutils/Config.in +++ b/package/busybox/config/modutils/Config.in @@ -1,3 +1,4 @@ +# DO NOT EDIT. This file is generated from Config.src # # For a description of the syntax of this configuration file, # see scripts/kbuild/config-language.txt. @@ -5,214 +6,264 @@ menu "Linux Module Utilities" -config BUSYBOX_CONFIG_DEPMOD - bool "depmod" +config BUSYBOX_CONFIG_MODINFO + bool "modinfo" default n + select BUSYBOX_CONFIG_PLATFORM_LINUX help - depmod generates modules.dep (FIXME: elaborate) + Show information about a Linux Kernel module -config BUSYBOX_CONFIG_FEATURE_DEPMOD_PRUNE_FANCY - bool "fancy dependency pruning" +config BUSYBOX_CONFIG_MODPROBE_SMALL + bool "Simplified modutils" default n - depends on BUSYBOX_CONFIG_DEPMOD + select BUSYBOX_CONFIG_PLATFORM_LINUX 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. + Simplified modutils. - If unsure, say N. + 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 BUSYBOX_CONFIG_FEATURE_DEPMOD_ALIAS - bool "alias support" - default n - depends on BUSYBOX_CONFIG_DEPMOD - help - By default modules.dep does not contain alias information. - Enable this to emit aliases of the form: + 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. - alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs + NB: modules.dep.bb file format is not compatible + with modules.dep file as created/used by standard module tools. -config BUSYBOX_CONFIG_INSMOD - bool "insmod" - default y - help - insmod is used to load specified modules in the running kernel. + Additional module parameters can be stored in + /etc/modules/$module_name files. -config BUSYBOX_CONFIG_FEATURE_INSMOD_VERSION_CHECKING - bool "Module version checking" - default n - depends on BUSYBOX_CONFIG_INSMOD && BUSYBOX_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. + 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 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 - 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. + As of 2008-07, this code is experimental. It is 14kb smaller + than "non-small" modutils. -config BUSYBOX_CONFIG_FEATURE_INSMOD_LOADINKMEM - bool "In kernel memory optimization (uClinux only)" +config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE + bool "Accept module options on modprobe command line" default n - depends on BUSYBOX_CONFIG_INSMOD && BUSYBOX_CONFIG_FEATURE_2_4_MODULES + depends on BUSYBOX_CONFIG_MODPROBE_SMALL + select BUSYBOX_CONFIG_PLATFORM_LINUX 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 BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP - bool "Enable load map (-m) option" +config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED + bool "Skip loading of already loaded modules" default n - depends on BUSYBOX_CONFIG_INSMOD && ( BUSYBOX_CONFIG_FEATURE_2_4_MODULES || BUSYBOX_CONFIG_FEATURE_2_6_MODULES ) + depends on BUSYBOX_CONFIG_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 BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL - bool "Symbols in load map" - default n - depends on BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP +config BUSYBOX_CONFIG_INSMOD + bool "insmod" + default y + depends on !BUSYBOX_CONFIG_MODPROBE_SMALL + select BUSYBOX_CONFIG_PLATFORM_LINUX 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 BUSYBOX_CONFIG_RMMOD bool "rmmod" default y + depends on !BUSYBOX_CONFIG_MODPROBE_SMALL + select BUSYBOX_CONFIG_PLATFORM_LINUX 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 + select BUSYBOX_CONFIG_PLATFORM_LINUX help lsmod is used to display a list of loaded modules. config BUSYBOX_CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT - bool "Pretty output for 2.6.x Linux kernels" + bool "Pretty output" default y depends on BUSYBOX_CONFIG_LSMOD + select BUSYBOX_CONFIG_PLATFORM_LINUX 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 + select BUSYBOX_CONFIG_PLATFORM_LINUX 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 BUSYBOX_CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS - bool - prompt "Multiple options parsing" +config BUSYBOX_CONFIG_FEATURE_MODPROBE_BLACKLIST + bool "Blacklist support" default n depends on BUSYBOX_CONFIG_MODPROBE + select BUSYBOX_CONFIG_PLATFORM_LINUX help - Allow modprobe to understand more than one option to pass to - modules. + 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. - 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. +config BUSYBOX_CONFIG_DEPMOD + bool "depmod" + default n + depends on !BUSYBOX_CONFIG_MODPROBE_SMALL + select BUSYBOX_CONFIG_PLATFORM_LINUX + help + depmod generates modules.dep (and potentially modules.alias + and modules.symbols) that contain dependency information + for modprobe. - Saying Y here is not a bad idea if you're not that short - on storage capacity. +comment "Options common to multiple modutils" -config BUSYBOX_CONFIG_FEATURE_MODPROBE_FANCY_ALIAS - bool - prompt "Fancy alias parsing" +config BUSYBOX_CONFIG_FEATURE_2_4_MODULES + bool "Support version 2.2/2.4 Linux kernels" default n - depends on BUSYBOX_CONFIG_MODPROBE && BUSYBOX_CONFIG_FEATURE_2_6_MODULES + depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_LSMOD + select BUSYBOX_CONFIG_PLATFORM_LINUX 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). + 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_MODPROBE_BLACKLIST - bool - prompt "Blacklist support" +config BUSYBOX_CONFIG_FEATURE_INSMOD_TRY_MMAP + bool "Try to load module from a mmap'ed area" default n - depends on BUSYBOX_CONFIG_MODPROBE && BUSYBOX_CONFIG_FEATURE_2_6_MODULES + depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE_SMALL + select BUSYBOX_CONFIG_PLATFORM_LINUX 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. + 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. -comment "Options common to multiple modutils" - depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_LSMOD || BUSYBOX_CONFIG_DEPMOD + 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 "Enable module version checking" + default n + depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE) + select BUSYBOX_CONFIG_PLATFORM_LINUX + help + 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_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE) + select BUSYBOX_CONFIG_PLATFORM_LINUX + 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 BUSYBOX_CONFIG_FEATURE_INSMOD_LOADINKMEM + bool "In kernel memory optimization (uClinux only)" + default n + depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE) + select BUSYBOX_CONFIG_PLATFORM_LINUX + 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 BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP + bool "Enable insmod load map (-m) option" + default n + depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && BUSYBOX_CONFIG_INSMOD + select BUSYBOX_CONFIG_PLATFORM_LINUX + 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 BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL + bool "Symbols in load map" + default n + depends on BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP && !BUSYBOX_CONFIG_MODPROBE_SMALL + select BUSYBOX_CONFIG_PLATFORM_LINUX + help + Without this option, -m will only output section + load map. With this option, -m will also output + symbols load map. 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 + depends on (BUSYBOX_CONFIG_LSMOD || BUSYBOX_CONFIG_FEATURE_2_4_MODULES) && !BUSYBOX_CONFIG_MODPROBE_SMALL + select BUSYBOX_CONFIG_PLATFORM_LINUX 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 BUSYBOX_CONFIG_FEATURE_2_4_MODULES - # Simulate indentation - bool "Support version 2.2.x to 2.4.x Linux kernels" +config BUSYBOX_CONFIG_FEATURE_MODUTILS_ALIAS + bool "Support for module.aliases file" default n - depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_MODPROBE + depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE + select BUSYBOX_CONFIG_PLATFORM_LINUX 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 - Note: - This is automatically enabled if 2.6 modules are not enabled. + and aliases for logical modules names e.g.: + alias padlock_aes aes + alias aes_i586 aes + alias aes_generic aes -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 + Say Y if unsure. + +config BUSYBOX_CONFIG_FEATURE_MODUTILS_SYMBOLS + bool "Support for module.symbols file" + default n + depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE + select BUSYBOX_CONFIG_PLATFORM_LINUX 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 BUSYBOX_CONFIG_DEFAULT_MODULES_DIR - # Simulate indentation string "Default directory containing modules" default "/lib/modules" - depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_DEPMOD + depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL || BUSYBOX_CONFIG_MODINFO help Directory that contains kernel modules. Defaults to "/lib/modules" config BUSYBOX_CONFIG_DEFAULT_DEPMOD_FILE - # Simulate indentation string "Default name of modules.dep" default "modules.dep" - depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_DEPMOD + depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL || BUSYBOX_CONFIG_MODINFO help Filename that contains kernel modules dependencies. Defaults to "modules.dep" -config BUSYBOX_CONFIG_FEATURE_QUERY_MODULE_INTERFACE - bool - default n - depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && !BUSYBOX_CONFIG_FEATURE_2_6_MODULES - endmenu