|  | <!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ | 
|  | <!ENTITY debian  "<productname>Debian GNU/Linux</productname>"> | 
|  | <!ENTITY docbook "<productname>DocBook</productname>"> | 
|  | <!ENTITY sgml    "<abbrev>SGML</abbrev>"> | 
|  | ]> | 
|  |  | 
|  | <!-- Stolen from manual page for docbook-to-man, DocBook source file | 
|  | (C) 1999 W. Borgert debacle@debian.org | 
|  |  | 
|  | $Id: docbook-to-man.sgml,v 1.8 2002/04/27 15:28:02 debacle Exp $ --> | 
|  |  | 
|  | <refentry> | 
|  | <refentryinfo> | 
|  | <address> | 
|  | <email>jcm@jonmasters.org</email> | 
|  | </address> | 
|  | <author> | 
|  | <firstname>Jon</firstname> | 
|  | <surname>Masters</surname> | 
|  | </author> | 
|  | <date>2010-03-09</date> | 
|  | </refentryinfo> | 
|  | <refmeta> | 
|  | <refentrytitle>modprobe.conf</refentrytitle> | 
|  | <manvolnum>5</manvolnum> | 
|  | </refmeta> | 
|  | <refnamediv> | 
|  | <refname>modprobe.d</refname><refname>modprobe.conf</refname> <refpurpose>Configuration directory/file for modprobe</refpurpose> | 
|  | </refnamediv> | 
|  | <refsect1> | 
|  | <title>DESCRIPTION</title> | 
|  |  | 
|  | <para>Because the <command>modprobe</command> 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 | 
|  | <filename>/etc/modprobe.d</filename> directory which end with the | 
|  | <filename>.conf</filename> extension specify those options as | 
|  | required. (the <filename>/etc/modprobe.conf</filename> 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 | 
|  | <command>modprobe</command> behavior altogether for those with | 
|  | special requirements (such as inserting more than one module). | 
|  | </para> | 
|  | <para> | 
|  | 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. | 
|  | </para> | 
|  | <para> | 
|  | The format of and files under <filename>modprobe.d</filename> and | 
|  | <filename>/etc/modprobe.conf</filename> 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. | 
|  | </para> | 
|  | </refsect1> | 
|  | <refsect1> | 
|  | <title>COMMANDS</title> | 
|  | <variablelist> | 
|  | <varlistentry> | 
|  | <term>alias <replaceable>wildcard</replaceable> <replaceable>modulename</replaceable> | 
|  | </term> | 
|  | <listitem> | 
|  | <para> | 
|  | 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. | 
|  | </para> | 
|  | <para> | 
|  | Note that modules can also contain their own aliases, | 
|  | which you can see using <command>modinfo</command>.  These | 
|  | aliases are used as a last resort (ie. if there is no real | 
|  | module, <command>install</command>, | 
|  | <command>remove</command>, or <command>alias</command> | 
|  | command in the configuration). | 
|  | </para> | 
|  | </listitem> | 
|  | </varlistentry> | 
|  | <varlistentry> | 
|  | <term>blacklist <replaceable>modulename</replaceable> | 
|  | </term> | 
|  | <listitem> | 
|  | <para> | 
|  | 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 devicei that it does not: the | 
|  | <command>blacklist</command> keyword indicates that all of | 
|  | that particular module's internal aliases are to be ignored. | 
|  | </para> | 
|  | </listitem> | 
|  | </varlistentry> | 
|  | <varlistentry> | 
|  | <term>install <replaceable>modulename</replaceable> <replaceable>command...</replaceable> | 
|  | </term> | 
|  | <listitem> | 
|  | <para> | 
|  | This command instructs <command>modprobe</command> 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 | 
|  | <command>modprobe</command> 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 <option>--ignore-install</option>, | 
|  | which stops the second <command>modprobe</command> from | 
|  | running the same <command>install</command> command again. | 
|  | See also <command>remove</command> below. | 
|  | </para> | 
|  | <para>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 | 
|  | <command>install</command> 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. | 
|  | </para> | 
|  | <para> | 
|  | 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" | 
|  | </para> | 
|  | </listitem> | 
|  | </varlistentry> | 
|  | <varlistentry> | 
|  | <term>options <replaceable>modulename</replaceable> <replaceable>option...</replaceable> | 
|  | </term> | 
|  | <listitem> | 
|  | <para> | 
|  | This command allows you to add options to the module | 
|  | <replaceable>modulename</replaceable> (which might be an | 
|  | alias) every time it is inserted into the kernel: whether | 
|  | directly (using <command>modprobe</command> | 
|  | <replaceable>modulename</replaceable> or because the | 
|  | module being inserted depends on this module. | 
|  | </para> | 
|  | <para> | 
|  | All options are added together: they can come from an | 
|  | <command>option</command> for the module itself, for an | 
|  | alias, and on the command line. | 
|  | </para> | 
|  | </listitem> | 
|  | </varlistentry> | 
|  | <varlistentry> | 
|  | <term>remove <replaceable>modulename</replaceable> <replaceable>command...</replaceable> | 
|  | </term> | 
|  | <listitem> | 
|  | <para> | 
|  | This is similar to the <command>install</command> command | 
|  | above, except it is invoked when "modprobe -r" is run. | 
|  | </para> | 
|  | </listitem> | 
|  | </varlistentry> | 
|  | <varlistentry> | 
|  | <term>softdep <replaceable>modulename</replaceable> pre: <replaceable>modules...</replaceable> post: <replaceable>modules...</replaceable> | 
|  | </term> | 
|  | <listitem> | 
|  | <para> | 
|  | The <command>softdep</command> command allows you to specify soft, | 
|  | or optional, module dependencies. <replaceable>modulename</replaceable> | 
|  | 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. | 
|  | </para> | 
|  | <para> | 
|  | 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 | 
|  | <replaceable>modulename</replaceable> argument. | 
|  | </para> | 
|  | <para> | 
|  | 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. | 
|  | </para> | 
|  | <para> | 
|  | Note: if there are <command>install</command> or | 
|  | <command>remove</command> commands with the same | 
|  | <replaceable>modulename</replaceable> argument, | 
|  | <command>softdep</command> takes precedence. | 
|  | </para> | 
|  | </listitem> | 
|  | </varlistentry> | 
|  | </variablelist> | 
|  | </refsect1> | 
|  | <refsect1> | 
|  | <title>COMPATIBILITY</title> | 
|  | <para> | 
|  | A future version of module-init-tools will come with a strong warning | 
|  | to avoid use of the <command>install</command> 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. | 
|  | </para> | 
|  | </refsect1> | 
|  | <refsect1> | 
|  | <title>COPYRIGHT</title> | 
|  | <para> | 
|  | This manual page originally Copyright 2004, Rusty Russell, IBM | 
|  | Corporation. Maintained by Jon Masters and others. | 
|  | </para> | 
|  | </refsect1> | 
|  | <refsect1> | 
|  | <title>SEE ALSO</title> | 
|  |  | 
|  | <para><citerefentry> | 
|  | <refentrytitle>modprobe</refentrytitle><manvolnum>8</manvolnum> | 
|  | </citerefentry>, | 
|  | <citerefentry> | 
|  | <refentrytitle>modules.dep</refentrytitle><manvolnum>5</manvolnum> | 
|  | </citerefentry> | 
|  | </para> | 
|  | </refsect1> | 
|  | </refentry> | 
|  |  | 
|  | <!-- Keep this comment at the end of the file | 
|  | Local variables: | 
|  | mode: sgml | 
|  | sgml-omittag:t | 
|  | sgml-shorttag:t | 
|  | sgml-minimize-attributes:nil | 
|  | sgml-always-quote-attributes:t | 
|  | sgml-indent-step:2 | 
|  | sgml-indent-data:t | 
|  | sgml-parent-document:nil | 
|  | sgml-default-dtd-file:nil | 
|  | sgml-exposed-tags:nil | 
|  | sgml-local-catalogs:nil | 
|  | sgml-local-ecat-files:nil | 
|  | End: | 
|  | --> |