Man Linux: Main Page and Category List

NAME

       modprobe.d, modprobe.conf - Configuration directory/file for modprobe

DESCRIPTION

       Because  the  modprobe  command can add or remove more than one module,
       due to modules having dependencies, we need a method of specifying what
       options  are  to  be  used with those modules. All files underneath the
       /etc/modprobe.d directory which end with the  .conf  extension  specify
       those  options  as  required.  (the /etc/modprobe.conf file can also be
       used if it exists, but that will be removed in a future version).  They
       can  also  be  used to create convenient aliases: alternate names for a
       module, or they can override the normal  modprobe  behavior  altogether
       for  those  with  special requirements (such as inserting more than one
       module).

       Note that module and alias names (like other module names) can  have  -
       or  _  in  them:  both  are  interchangable  throughout  all the module
       commands as underscore conversion happens automatically.

       The format of and files  under  modprobe.d  and  /etc/modprobe.conf  is
       simple:  one command per line, with blank lines and lines starting with
       ’#’ ignored (useful for adding comments). A ’\’ at the end  of  a  line
       causes  it  to  continue  on  the next line, which makes the file a bit
       neater.

COMMANDS

       alias wildcard modulename
              This allows you to  give  alternate  names  for  a  module.  For
              example: "alias my-mod really_long_modulename" means you can use
              "modprobe my-mod" instead of "modprobe  really_long_modulename".
              You  can  also  use  shell-style  wildcards,  so  "alias my-mod*
              really_long_modulename" means that  "modprobe  my-mod-something"
              has  the  same  effect.  You can’t have aliases to other aliases
              (that way lies madness), but aliases  can  have  options,  which
              will be added to any other options.

              Note  that modules can also contain their own aliases, which you
              can see using modinfo. These aliases are used as a  last  resort
              (ie.  if  there  is  no  real  module, install, remove, or alias
              command in the configuration).

       blacklist modulename
              Modules can contain their own aliases: usually these are aliases
              describing the devices they support, such as "pci:123...". These
              "internal" aliases can be overridden by normal "alias" keywords,
              but  there  are cases where two or more modules both support the
              same devices, or a module invalidly claims to support  a  device
              that  it  does  not: the blacklist keyword indicates that all of
              that particular module’s internal aliases are to be ignored.

       install modulename command...
              This command instructs modprobe to run your command  instead  of
              inserting  the  module in the kernel as normal.  The command can
              be any shell command: this allows you to do any kind of  complex
              processing  you  might  wish.  For example, if the module "fred"
              works better with the module "barney" already installed (but  it
              doesn’t  depend on it, so modprobe won’t automatically load it),
              you   could   say   "install   fred    /sbin/modprobe    barney;
              /sbin/modprobe  --ignore-install  fred", which would do what you
              wanted.  Note  the  --ignore-install,  which  stops  the  second
              modprobe  from running the same install command again.  See also
              remove below.

              The long term future of  this  command  as  a  solution  to  the
              problem  of  providing  additional  module  dependencies  is not
              assured and it is  intended  to  replace  this  command  with  a
              warning  about its eventual removal or deprecation at some point
              in  a  future  release.  Its  use  complicates   the   automated
              determination  of module dependencies by distribution utilities,
              such as mkinitrd (because these now need  to  somehow  interpret
              what  the  install commands might be doing.  In a perfect world,
              modules would provide all dependency information without the use
              of   this  command  and  work  is  underway  to  implement  soft
              dependency support within the Linux kernel.

              If you use the string "$CMDLINE_OPTS" in the command, it will be
              replaced  by any options specified on the modprobe command line.
              This can be useful because users expect "modprobe fred opt=1" to
              pass  the  "opt=1" arg to the module, even if there’s an install
              command in the configuration file. So our above example  becomes
              "install  fred  /sbin/modprobe  barney; /sbin/modprobe --ignore-
              install fred $CMDLINE_OPTS"

       options modulename option...
              This command allows you to add options to the module  modulename
              (which  might  be  an  alias) every time it is inserted into the
              kernel: whether directly (using modprobe modulename  or  because
              the module being inserted depends on this module.

              All options are added together: they can come from an option for
              the module itself, for an alias, and on the command line.

       remove modulename command...
              This is similar to the  install  command  above,  except  it  is
              invoked when "modprobe -r" is run.

       softdep modulename pre: modules... post: modules...
              The  softdep  command  allows  you to specify soft, or optional,
              module  dependencies.  modulename  can  be  used  without  these
              optional  modules  installed,  but  usually  with  some features
              missing. For example, a driver for a storage HBA  might  require
              another module be loaded in order to use management features.

              pre-deps and post-deps modules are lists of names and/or aliases
              of other modules that  modprobe  will  attempt  to  install  (or
              remove)  in  order before and after the main module given in the
              modulename argument.

              Example: Assume "softdep c pre: a b post: d e"  is  provided  in
              the  configuration.  Running  "modprobe  c" is now equivalent to
              "modprobe a b c d e" without the softdep.  Flags such as  --use-
              blacklist are applied to all the specified modules, while module
              parameters only apply to module c.

              Note: if there are install or  remove  commands  with  the  same
              modulename argument, softdep takes precedence.

COMPATIBILITY

       A  future  version of module-init-tools will come with a strong warning
       to avoid use of the install as explained above. This will  happen  once
       support  for soft dependencies in the kernel is complete.  That support
       will complement the existing softdep support  within  this  utility  by
       providing such dependencies directly within the modules.

COPYRIGHT

       This   manual  page  originally  Copyright  2004,  Rusty  Russell,  IBM
       Corporation. Maintained by Jon Masters and others.

SEE ALSO

       modprobe(8), modules.dep(5)

                                  2010-03-09