DEPMOD
Section: Linux Module Support (8)
Updated: October 12, 1999
Index
Return to Main Contents
Copyright (c) 1994, 1995 Jacques Gelinas (
jacques@solucorp.qc.ca)
Copyright (c) 1995, 1999 Bjorn Ekwall (
bj0rn@blox.se)
This program is distributed according to the Gnu General Public License.
See the file COPYING in the base distribution directory
NAME
depmod - handle dependency descriptions for loadable kernel modules
SYNOPSIS
depmod
-[aA] [-enqsvVr]
[-C configfile] [-F kernelsyms] [-b basedirectory] [forced_version]
depmod
[-enqsv] [-F kernelsyms] module1.o module2.o ...
OPTIONS
- -a
-
Search for modules in all directories specified in the (optional)
configuration file
/etc/modules.conf.
- -A
-
Compare file timestamps and, if necessary, act like
depmod
-a. This option only updates the dependency file if anything has changed.
- -e
-
Show all the unresolved symbol for each module.
- -n
-
Write the dependency file on stdout instead of in the
/lib/modules
tree.
- -s
-
Write all error messages via the syslog daemon instead of stderr.
- -v
-
Show the name of each module as it is being processed.
- -q
-
Tell depmod to keep quiet and not to complain about missing symbols.
- -V
-
Show the release version name of
depmod
- -r
-
Some users compile modules under a non-root userid then install the
modules as root. This process can leave the modules owned by the
non-root userid, even though the modules directory is owned by root.
If the non-root userid is compromised, an intruder can overwrite
existing modules owned by that userid and use this exposure to
bootstrap up to root access.
-
-
By default, modutils will reject attempts to use a module that is not
owned by root. Specifying -r will suppress the error and allow root to
load modules that are not owned by root.
-
-
Use of
-r
is a major security exposure and is not recommended.
The following options are useful for people managing distributions;
- -b basedirectory
-
If the directory tree
/lib/modules
containing the sub-trees of modules is moved somewhere else in order to
handle modules for a different environment, the
basedirectory
option tells depmod where to find the moved image of the
/lib/modules
tree.
The file references in the depmod output file that is built,
modules.dep,
will not contain the
basedirectory
path.
This means that when the file tree is moved back from
basedirectory/lib/modules
into
/lib/modules
in the final distribution, all references will be correct.
- -C configfile
-
Use the file
configfile
instead of /etc/modules.conf.
The environment variable
MODULECONF
can also be used to select a different
configuration file from the default /etc/modules.conf (or
/etc/conf.modules (deprecated)).
- -F kernelsyms
-
When building dependency files for a different kernel than the currently
running kernel, it is important that
depmod
uses the correct set of kernel symbols to resolve the kernel references
in each module.
These symbols can either be a copy of
System.map
from the other kernel,
or a copy of the output from
/proc/ksyms.
If your kernel uses versioned symbols, you
must
use a copy of the
/proc/ksyms
output, since that file contains the symbol versions of the kernel symbols.
DESCRIPTION
The
depmod
and
modprobe
utilities are intended
to make a Linux modular kernel manageable for all users,
administrators and distribution maintainers.
Depmod
creates a "Makefile"-like dependency file, based on the symbols it finds
in the set of modules mentioned on the command line
or from the directories specified in the configuration file.
This dependency file is later used by
modprobe
to automatically load the correct module or stack of modules.
The normal use of
depmod
is to include the line
/sbin/depmod -a
somewhere in the rc-files
in /etc/rc.d, so that the correct module dependencies will be available
immediately after booting the system.
Note that the option
-a
now is optional.
For boot-up purposes, the option
-q
might be more appropriate since that make depmod silent about
unresolved symbols.
It is also possible to create the dependency file immediately
after compiling a new kernel.
If you do "depmod -a 2.2.99" when you have compiled kernel 2.2.99 and
its modules the first time, while still running e.g. 2.2.98, the file will
be created in the correct place.
In this case however,
the dependencies on the kernel will not be guaranteed to be correct.
See the options
-F, -C and -b
above for more information on handling this.
CONFIGURATION
The behavior of
depmod
and
modprobe
can be adjusted by the (optional) configuration file
/etc/modules.conf
See
modprobe(8)
and
modules.conf(5)
for a complete description.
STRATEGY
Each time you compile a new kernel, the command
make modules_install
will create a new directory, but won't change the default.
When you get a module unrelated to the kernel distribution
you should place it in one of the version-independent directories
under /lib/modules.
This is the default strategy, which can be overridden in /etc/modules.conf.
FILES
/etc/modules.conf (alternatively but deprecated /etc/modules.conf)
/lib/modules/*/modules.dep,
/lib/modules/*
SEE ALSO
modules.conf(5),
modprobe(8),
modinfo(8),
lsmod(8),
ksyms(8),
modules(2),
AUTHOR
Jacques Gelinas (
jack@solucorp.qc.ca)
Bjorn Ekwall (
bj0rn@blox.se)
Index
- NAME
-
- SYNOPSIS
-
- OPTIONS
-
- DESCRIPTION
-
- CONFIGURATION
-
- STRATEGY
-
- FILES
-
- SEE ALSO
-
- AUTHOR
-