rpm2cpio: handle bz2 too; code shrink
[oweals/busybox.git] / modutils / Config.in
index 2e7f9b6e5182e6a209b8037920692f997461d7b5..d2a2e04d17a988bf9cfaa7eb0c38b9388a3e6d63 100644 (file)
@@ -11,23 +11,31 @@ config MODPROBE_SMALL
        help
          Simplified modutils.
 
-         With this option modprobe does not use or require
-         modules.dep or /etc/modules.conf files.
+         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 is provided but does nothing
+         - depmod generates modules.dep.bb
 
-         As of 2008-07, this code is experimental. It it 15kb smaller
+         As of 2008-07, this code is experimental. It is 14kb smaller
          than "non-small" modutils.
 
 config FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
@@ -36,7 +44,6 @@ config FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
        depends on MODPROBE_SMALL
        help
          Allow insmod and modprobe take module options from command line.
-         N.B. Very bloaty.
 
 config FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
        bool "Skip loading of already loaded modules"
@@ -44,76 +51,99 @@ config FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
        depends on MODPROBE_SMALL
        help
          Check if the module is already loaded.
-         N.B. It's racy.
 
-config FEATURE_MODPROBE_SMALL_ZIPPED
-       bool "Handle gzipped or bzipped modules"
+config INSMOD
+       bool "insmod"
        default n
-       depends on MODPROBE_SMALL
+       depends on !MODPROBE_SMALL
        help
-         Handle compressed modules. Bloaty. Sloooow.
+         insmod is used to load specified modules in the running kernel.
 
-config DEPMOD
-       bool "depmod"
+config RMMOD
+       bool "rmmod"
        default n
        depends on !MODPROBE_SMALL
        help
-         depmod generates modules.dep (FIXME: elaborate)
+         rmmod is used to unload specified modules from the kernel.
 
-config FEATURE_DEPMOD_PRUNE_FANCY
-       bool "Fancy dependency pruning"
+config LSMOD
+       bool "lsmod"
        default n
-       depends on DEPMOD
+       depends on !MODPROBE_SMALL
        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.
+         lsmod is used to display a list of loaded modules.
 
-         If unsure, say N.
+config FEATURE_LSMOD_PRETTY_2_6_OUTPUT
+       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 FEATURE_DEPMOD_ALIAS
-       bool "Alias support"
+config MODPROBE
+       bool "modprobe"
        default n
-       depends on DEPMOD
+       depends on !MODPROBE_SMALL
        help
-         By default modules.dep does not contain alias information.
-         Enable this to emit aliases of the form:
+         Handle the loading of modules, and their dependencies on a high
+         level.
 
-           alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs
+config FEATURE_MODPROBE_BLACKLIST
+       bool "Blacklist support"
+       default n
+       depends on 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 INSMOD
-       bool "insmod"
+config DEPMOD
+       bool "depmod"
        default n
        depends on !MODPROBE_SMALL
        help
-         insmod is used to load specified modules in the running kernel.
+         depmod generates modules.dep (and potentially modules.alias
+         and modules.symbols) that contain dependency information
+         for modprobe.
+
+comment "Options common to multiple modutils"
+
+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_VERSION_CHECKING
-       bool "Module version checking"
+       bool "Enable module version checking"
        default n
-       depends on INSMOD && FEATURE_2_4_MODULES
+       depends on FEATURE_2_4_MODULES && (INSMOD || 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 FEATURE_INSMOD_KSYMOOPS_SYMBOLS
        bool "Add module symbols to kernel symbol table"
        default n
-       depends on INSMOD && FEATURE_2_4_MODULES
+       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
+         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 FEATURE_INSMOD_LOADINKMEM
        bool "In kernel memory optimization (uClinux only)"
        default n
-       depends on INSMOD && FEATURE_2_4_MODULES
+       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
@@ -121,9 +151,9 @@ config FEATURE_INSMOD_LOADINKMEM
          being loaded into memory.
 
 config FEATURE_INSMOD_LOAD_MAP
-       bool "Enable load map (-m) option"
+       bool "Enable insmod load map (-m) option"
        default n
-       depends on INSMOD && ( FEATURE_2_4_MODULES || FEATURE_2_6_MODULES )
+       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
@@ -134,138 +164,63 @@ config FEATURE_INSMOD_LOAD_MAP
 config FEATURE_INSMOD_LOAD_MAP_FULL
        bool "Symbols in load map"
        default y
-       depends on FEATURE_INSMOD_LOAD_MAP
+       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
+         load map. With this option, -m will also output
          symbols load map.
 
-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"
-       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.
-
-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"
-       default n
-       depends on MODPROBE && FEATURE_2_6_MODULES
-       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.
-
-comment "Options common to multiple modutils"
-       depends on INSMOD || RMMOD || MODPROBE || LSMOD || DEPMOD
-
 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 || MODPROBE_SMALL || 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 || MODPROBE_SMALL || 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