diff options
Diffstat (limited to 'man/modprobe.d.5.xml')
-rw-r--r-- | man/modprobe.d.5.xml | 241 |
1 files changed, 241 insertions, 0 deletions
diff --git a/man/modprobe.d.5.xml b/man/modprobe.d.5.xml new file mode 100644 index 0000000..2bf6537 --- /dev/null +++ b/man/modprobe.d.5.xml @@ -0,0 +1,241 @@ +<?xml version="1.0"?> +<!--*-nxml-*--> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> +<refentry id="modprobe.d"> + <refentryinfo> + <title>modprobe.d</title> + <productname>kmod</productname> + + <authorgroup> + <author> + <contrib>Developer</contrib> + <firstname>Jon</firstname> + <surname>Masters</surname> + <email>jcm@jonmasters.org</email> + </author> + <author> + <contrib>Developer</contrib> + <firstname>Robby</firstname> + <surname>Workman</surname> + <email>rworkman@slackware.com</email> + </author> + <author> + <contrib>Developer</contrib> + <firstname>Lucas</firstname> + <surname>De Marchi</surname> + <email>lucas.de.marchi@gmail.com</email> + </author> + </authorgroup> + </refentryinfo> + + + <refmeta> + <refentrytitle>modprobe.d</refentrytitle> + <manvolnum>5</manvolnum> + </refmeta> + + <refnamediv> + <refname>modprobe.d</refname> + <refpurpose>Configuration directory for modprobe</refpurpose> + </refnamediv> + + <refsynopsisdiv> + <para><filename>/lib/modprobe.d/*.conf</filename></para> + <para><filename>@DISTCONFDIR@/modprobe.d/*.conf</filename></para> + <para><filename>/usr/local/lib/modprobe.d/*.conf</filename></para> + <para><filename>/run/modprobe.d/*.conf</filename></para> + <para><filename>/etc/modprobe.d/*.conf</filename></para> + </refsynopsisdiv> + + <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. 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 interchangeable throughout all the + module commands as underscore conversion happens automatically. + </para> + <para> + The format of files under <filename>modprobe.d</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 device 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 kmod 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> |