MAN page from Scientific Linux Other modutils-2.4.25-13.EL.i386.rpm
MODPROBE
Section: Linux Module Support (8)
Updated: February 12, 2003
Index NAME
modprobe - high level handling of loadable modules
SYNOPSIS
modprobe[-adnqv] [-C
config] module [symbol=value ...]
modprobe[-adnqv] [-C
config] [-t
type] pattern
modprobe-l [-C
config] [-t
type] pattern
modprobe-c [-C
config]
modprobe-r [-dnv] [-C
config] [module ...]
modprobe-Vh
OPTIONS
- -a, --all
- Load allmatching modules instead of stopping after the first successful loading.
- -c, --showconfig
- Show the currently used configuration.
- -C, --config config
- Use the file config instead of (the optional) /etc/modules.confto specify the configuration.The environment variable MODULECONF can also be used to select (andoverride) a different configuration file from the default /etc/modules.conf (or/etc/conf.modules (deprecated)).
When environment variableUNAME_MACHINEis set, modutils will use its value instead of the machine field fromthe uname() syscall.This is mainly of use when you are compiling 64 bit modules in 32 bituser space or vice versa, setUNAME_MACHINEto the type of the modules.Current modutils does not support full cross build mode for modules, itis limited to choosing between 32 and 64 bit versions of the hostarchitecture.
- -d, --debug
- Show information about the internal representation of the stack of modules.
- -h, --help
- Display a summary of options and immediately exit.
- -k, --autoclean
- Set 'autoclean' on loaded modules. Used by the kernel when it calls onmodprobeto satisfy a missing feature (supplied as a module).The -q option is implied by -k.These options will automatically be sent to insmod.
- -l, --list
- List matching modules.
- -n, --show
- Don't actually perform the action, just show what would be done.
- -q, --quiet
- Do not complain about insmod failing to install a module.Continue as normal, but silently, with other possibilities for modprobe to test.This option will automatically be sent to insmod.
- -r, --remove
- Remove module (stacks) or do autoclean, depending on whether there areany modules mentioned on the command line.
- -s, --syslog
- Report via syslog instead of stderr.This options will automatically be sent to insmod.
- -t moduletype; --type moduletype
- Only consider modules of this type. modprobe will only look at moduleswhose directory path includes exactly "/moduletype/". moduletypecan include more than one directory name, e.g. "-t drivers/net"would list modules in xxx/drivers/net/ and its subdirectories.
- -v, --verbose
- Print all commands as they are executed.
- -V, --version
- Display the version of modprobe.
- Note:
- Module names must not contain paths (no '/'), nor may they contain thetrailing '.o'. For example, slip is a valid module name formodprobe,/lib/modules/2.2.19/net/slip and slip.o are invalid. This applies tothe command line and to entries in the config.
DESCRIPTION
The
modprobe and
depmod utilities are intendedto make a Linux modular kernel more manageable for all users,administrators and distribution maintainers.
Modprobe uses a "Makefile"-like dependency file, created bydepmod, to automatically load the relevant module(s) from the set ofmodules available in predefined directory trees.
Modprobe is used to load a single module,a stack of dependent modules, or all modules that are marked with a specifiedtag.
Modprobe will automatically load all base modules needed in a modulestack, as described by the dependency file modules.dep.If the loading of one of these modules fails, the whole current stackof modules loaded in the current session will be unloaded automatically.
Modprobe has two ways of loading modules. One way (the probe mode) willtry to load a module out of a list (defined by pattern).Modprobe stops loading as soon as one module loads successfully.This could be used to autoload one Ethernet driver out of a list.
The other way modprobe can be used is to load all modules from alist. See EXAMPLES, below.
With the option -r, modprobe will automatically unload a stack ofmodules, similar to the way "rmmod -r" does. Note that using just"modprobe -r" will clean up unused autoloaded modules and also performthe pre- and post-remove commands in the configuration file/etc/modules.conf.
The combining the options -l and -t lists all availablemodules of a certain type.
Option -c will print the currently used configuration (default +configuration file).
CONFIGURATION
The behavior of
modprobe (and
depmod)can be modified by the (optional) configuration file
/etc/modules.conf.
For a more detailed description of what this file can contain,as well as the default configuration used by
depmod and
modprobe, see
modules.conf(5).
Note that the pre- and post-remove commands will not be executedif a module is "autocleaned" by kerneld!Look for the up-coming support for persistent module storage instead.
If you want to use the pre- and post-install features, you will have toturn off autoclean for kerneld and instead put something like the followingline in your crontab (this is used for kmod systems as well)to do autoclean every 2 minutes:
*/2 * * * * test -f /proc/modules && /sbin/modprobe -r
STRATEGY
The idea is that
modprobe will look first in the directory containingmodules compiled for the current release of the kernel. If the module is notfound there,
modprobe will look in the directory common to the kernelversion (e.g. 2.0, 2.2). If the module is still found,
modprobewill look in the directory containing modules for a default release,and so on.
When you install a new linux, the modules should be moved to a directoryrelated to the release (and version) of the kernel you are installing.Then you should do a symlink from this directory to the "default" directory.
Each time you compile a new kernel, the command "make modules_install"will create a new directory, but won't change the "default" link.
When you get a module unrelated to the kernel distributionyou should place it in one of the version-independent directoriesunder /lib/modules.
This is the default strategy, which can be overridden in/etc/modules.conf.
EXAMPLES
- modprobe -t net
- Load one of the modules that are stored in the directory tagged "net".Each module are tried until one succeeds.
- modprobe -a -t boot
- All modules that are stored in directories tagged "boot" will be loaded.
- modprobe slip
- This will attempt to load the module slhc.o if it was not previously loaded,since the slip module needs the functionality in the slhc module.This dependency will be described in the file modules.dep that wascreated automatically by depmod.
- modprobe -r slip
- This will unload the slip module.It will also unload the slhc module automatically,unless it is used by some other module as well (e.g. ppp).
FILES
/etc/modules.conf (alternatively but deprecated /etc/conf.modules)/lib/modules/*/modules.dep,/lib/modules/*
SEE ALSO
depmod(8),
lsmod(8),
kerneld(8),
ksyms(8),
rmmod(8).
SAFE MODE
If the effective uid is not equal to the real uid then
modprobe treatsits input with extreme suspicion. The last parameter is always treatedas a module name, even if it starts with '-'. There can only be onemodule name and options of the form "variable=value" are forbidden.The module name is always treated as a string, no meta expansion isperformed in safe mode. However meta expansion is still applied todata read from the config file.
euid may not be equal to uid when modprobe is invoked from the kernel,this is true for kernels >= 2.4.0-test11. In an ideal world, modprobecould trust the kernel to only pass valid parameters to modprobe.However at least one local root exploit has occurred because high levelkernel code passed unverified parameters direct from the user tomodprobe. So modprobe no longer trusts kernel input.
modprobe automatically sets safe mode when the environment consistsonly of these strings
HOME=/ TERM=linux PATH=/sbin:/usr/sbin:/bin:/usr/bin
This detects modprobe execution from the kernel on kernels 2.2 though2.4.0-test11, even if uid == euid, which it does on the earlierkernels.
LOGGING COMMANDS
If directory
/var/log/ksymoops exists and
modprobe is run with anoption that could load or a delete a module then modprobe will log itscommand and return status in
/var/log/ksymoops/`date +%Y%m%d.log`.There is no switch to disable this automatic logging, if you do notwant it to occur, do not create
/var/log/ksymoops. If that directoryexists, it should be owned by root and be mode 644 or 600 and youshould run script
insmod_ksymoops_clean every day or so.
REQUIRED UTILITIES
depmod(8),
insmod(8).
NOTES
Patterns supplied to
modprobe will often need to be escaped to ensurethat it is evaluated in the proper context.
BUGS
modprobe [
-V |
--version ] should exit immediately.Instead, it prints the version information and behaves as if no options weregiven.
Although the fix for this bug is trivial, it changes the behaviour ofmodutils.Given the large number of distributions and scripts that run modutilsand expect the current behaviour, any change of behaviour isunacceptable in 2.4.Don't bother sending patches for this bug, it will not be fixed in 2.4,it should be fixed in 2.5.
AUTHOR
Jacques Gelinas (jackAATTsolucorp.qc.ca)
Bjorn Ekwall (bj0rnAATTblox.se)
Index
- NAME
- SYNOPSIS
- OPTIONS
- DESCRIPTION
- CONFIGURATION
- STRATEGY
- EXAMPLES
- FILES
- SEE ALSO
- SAFE MODE
- LOGGING COMMANDS
- REQUIRED UTILITIES
- NOTES
- BUGS
- AUTHOR
This document was created byman2html,using the manual pages.