MODPROBE.D(5) | modprobe.d | MODPROBE.D(5) |
NAME¶
modprobe.d - Configuration directory for modprobe
SYNOPSIS¶
/etc/modprobe.d/*.conf
/run/modprobe.d/*.conf
/usr/local/lib/modprobe.d/*.conf
/usr/lib/modprobe.d/*.conf
/lib/modprobe.d/*.conf
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. One can also use them 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 interchangeable throughout all the module commands as underscore conversion happens automatically.
CONFIGURATION FORMAT¶
The configuration files contain 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 files a bit neater.
See the COMMANDS section below for more.
CONFIGURATION DIRECTORIES AND PRECEDENCE¶
Configuration files are read from directories in listed in SYNOPSYS in that order of precedence. Once a file of a given filename is loaded, any file of the same name in subsequent directories is ignored.
All configuration files are sorted in lexicographic order, regardless of the directory they reside in. Configuration files can either be completely replaced (by having a new configuration file with the same name in a directory of higher priority) or partially replaced (by having a configuration file that is ordered later).
NOTE: The configuration directories may be altered via the MODPROBE_OPTIONS environment variable. See the ENVIRONMENT section in modprobe(8).
COMMANDS¶
alias wildcard modulename
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
install modulename command...
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...
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...
softdep modulename pre: modules... post: modules...
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.
weakdep modulename modules...
Example: Assume "weakdep c a b". A program creating an initramfs knows it should add a, b, and c to the filesystem since a and b may be required/desired at runtime. When c is loaded and is being probed, it may issue calls to request_module() causing a or b to also be loaded.
COMPATIBILITY¶
A future version of kmod 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.
SEE ALSO¶
AUTHORS¶
Numerous contributions have come from the linux-modules mailing list <linux-modules@vger.kernel.org> and Github. If you have a clone of kmod.git itself, the output of git-shortlog(1) and git-blame(1) can show you the authors for specific parts of the project.
Lucas De Marchi <lucas.de.marchi@gmail.com> is the current maintainer of the project.
2024-08-13 | kmod |