summaryrefslogtreecommitdiffstats
path: root/man/depmod.xml
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 17:03:56 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 17:03:56 +0000
commit18da3ffcd7f3c8a0c5f790c801b5813503c2273d (patch)
tree84caf98dc5cef3d123c56ba12e35fd67026e0693 /man/depmod.xml
parentInitial commit. (diff)
downloadkmod-18da3ffcd7f3c8a0c5f790c801b5813503c2273d.tar.xz
kmod-18da3ffcd7f3c8a0c5f790c801b5813503c2273d.zip
Adding upstream version 31+20240202.upstream/31+20240202
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'man/depmod.xml')
-rw-r--r--man/depmod.xml343
1 files changed, 343 insertions, 0 deletions
diff --git a/man/depmod.xml b/man/depmod.xml
new file mode 100644
index 0000000..fce2a4a
--- /dev/null
+++ b/man/depmod.xml
@@ -0,0 +1,343 @@
+<?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="depmod">
+ <refentryinfo>
+ <title>depmod</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>depmod</refentrytitle>
+ <manvolnum>8</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>depmod</refname>
+ <refpurpose>
+ Generate <filename>modules.dep</filename> and map files.
+ </refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>depmod</command>
+ <arg><option>-b <replaceable>basedir</replaceable></option></arg>
+ <arg><option>-o <replaceable>outdir</replaceable></option></arg>
+ <arg><option>-e</option></arg>
+ <arg><option>-E <replaceable>Module.symvers</replaceable></option></arg>
+ <arg><option>-F <replaceable>System.map</replaceable></option></arg>
+ <arg><option>-n</option></arg>
+ <arg><option>-v</option></arg>
+ <arg><option>-A</option></arg>
+ <arg><option>-P <replaceable>prefix</replaceable></option></arg>
+ <arg><option>-w</option></arg>
+ <arg><option><replaceable>version</replaceable></option></arg>
+ </cmdsynopsis>
+
+ <cmdsynopsis>
+ <command>depmod</command>
+ <arg><option>-e</option></arg>
+ <arg><option>-E <replaceable>Module.symvers</replaceable></option></arg>
+ <arg><option>-F <replaceable>System.map</replaceable></option></arg>
+ <arg><option>-n</option></arg>
+ <arg><option>-v</option></arg>
+ <arg><option>-P <replaceable>prefix</replaceable></option></arg>
+ <arg><option>-w</option></arg>
+ <arg><option><replaceable>version</replaceable></option></arg>
+ <arg rep='repeat'><option><replaceable>filename</replaceable></option></arg>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+ <refsect1><title>DESCRIPTION</title>
+ <para>
+ Linux kernel modules can provide services (called "symbols") for other
+ modules to use (using one of the EXPORT_SYMBOL variants in the code). If
+ a second module uses this symbol, that second module clearly depends on
+ the first module. These dependencies can get quite complex.
+ </para>
+ <para> <command>depmod</command> creates a list of module dependencies by
+ reading each module under
+ <filename>@MODULE_DIRECTORY@/</filename><replaceable>version</replaceable> and
+ determining what symbols it exports and what symbols it needs. By
+ default, this list is written to <filename>modules.dep</filename>, and a
+ binary hashed version named <filename>modules.dep.bin</filename>, in the
+ same directory. If filenames are given on the command line, only those
+ modules are examined (which is rarely useful unless all modules are
+ listed). <command>depmod</command> also creates a list of symbols
+ provided by modules in the file named
+ <filename>modules.symbols</filename> and its binary hashed version,
+ <filename>modules.symbols.bin</filename>. Finally,
+ <command>depmod</command> will output a file named
+ <filename>modules.devname</filename> if modules supply special device
+ names (devname) that should be populated in /dev on boot (by a utility
+ such as systemd-tmpfiles).
+ </para>
+ <para> If a <replaceable>version</replaceable> is provided, then that kernel
+ version's module directory is used rather than the current kernel version
+ (as returned by <command>uname -r</command>).
+ </para>
+ </refsect1>
+ <refsect1><title>OPTIONS</title>
+ <variablelist>
+ <varlistentry>
+ <term>
+ <option>-a</option>
+ </term>
+ <term>
+ <option>--all</option>
+ </term>
+ <listitem>
+ <para>
+ Probe all modules. This option is enabled by default if no
+ file names are given in the command-line.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <option>-A</option>
+ </term>
+ <term>
+ <option>--quick</option>
+ </term>
+ <listitem>
+ <para>
+ This option scans to see if any modules are newer than the
+ <filename>modules.dep</filename> file before any work is done:
+ if not, it silently exits rather than regenerating the files.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <option>-b <replaceable>basedir</replaceable></option>
+ </term>
+ <term>
+ <option>--basedir <replaceable>basedir</replaceable></option>
+ </term>
+ <listitem>
+ <para>
+ If your modules are not currently in the (normal) directory
+ <filename>@MODULE_DIRECTORY@/</filename><replaceable>version</replaceable>,
+ but in a staging area, you can specify a
+ <replaceable>basedir</replaceable> which is prepended to the
+ directory name. This <replaceable>basedir</replaceable> is
+ stripped from the resulting <filename>modules.dep</filename> file,
+ so it is ready to be moved into the normal location. Use this
+ option if you are a distribution vendor who needs to pre-generate
+ the meta-data files rather than running depmod again later.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <option>-o <replaceable>outdir</replaceable></option>
+ </term>
+ <term>
+ <option>--outdir <replaceable>outdir</replaceable></option>
+ </term>
+ <listitem>
+ <para>
+ Set the output directory where depmod will store any generated file.
+ <replaceable>outdir</replaceable> serves as a root to that location,
+ similar to how <replaceable>basedir</replaceable> is used. Also this
+ setting takes precedence and if used together with
+ <replaceable>basedir</replaceable> it will result in the input being
+ that directory, but the output being the one set by
+ <replaceable>outdir</replaceable>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <option>-C</option>
+ </term>
+ <term>
+ <option>--config <replaceable>file or directory</replaceable></option>
+ </term>
+ <listitem>
+ <para>
+ This option overrides the default configuration directory at
+ <filename>/etc/depmod.d/</filename>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <option>-e</option>
+ </term>
+ <term>
+ <option>--errsyms</option>
+ </term>
+ <listitem>
+ <para>
+ When combined with the <option>-F</option> option, this reports any
+ symbols which a module needs which are not supplied by other
+ modules or the kernel. Normally, any symbols not provided by
+ modules are assumed to be provided by the kernel (which should be
+ true in a perfect world), but this assumption can break especially
+ when additionally updated third party drivers are not correctly
+ installed or were built incorrectly.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <option>-E</option>
+ </term>
+ <term>
+ <option>--symvers</option>
+ </term>
+ <listitem>
+ <para>
+ When combined with the <option>-e</option> option, this
+ reports any symbol versions supplied by modules that do
+ not match with the symbol versions provided by the
+ kernel in its <filename>Module.symvers</filename>.
+ This option is mutually incompatible with <option>-F</option>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <option>-F</option>
+ </term>
+ <term>
+ <option>--filesyms <replaceable>System.map</replaceable></option>
+ </term>
+ <listitem>
+ <para>
+ Supplied with the <filename>System.map</filename> produced when the
+ kernel was built, this allows the <option>-e</option> option to
+ report unresolved symbols. This option is mutually incompatible
+ with <option>-E</option>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <option>-h</option>
+ </term>
+ <term>
+ <option>--help</option>
+ </term>
+ <listitem>
+ <para>
+ Print the help message and exit.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <option>-n</option>
+ </term>
+ <term>
+ <option>--show</option>
+ </term>
+ <term>
+ <option>--dry-run</option>
+ </term>
+ <listitem>
+ <para>
+ This sends the resulting modules.dep and the various map files to
+ standard output rather than writing them into the module directory.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <option>-P</option>
+ </term>
+ <listitem>
+ <para>
+ Some architectures prefix symbols with an extraneous character.
+ This specifies a prefix character (for example '_') to ignore.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <option>-v</option>
+ </term>
+ <term>
+ <option>--verbose</option>
+ </term>
+ <listitem>
+ <para>
+ In verbose mode, <command>depmod</command> will print (to stdout)
+ all the symbols each module depends on and the module's file name
+ which provides that symbol.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <option>-V</option>
+ </term>
+ <term>
+ <option>--version</option>
+ </term>
+ <listitem>
+ <para>
+ Show version of program and exit. See below for caveats when
+ run on older kernels.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <option>-w</option>
+ </term>
+ <listitem>
+ <para>
+ Warn on duplicate dependencies, aliases, symbol versions, etc.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1><title>COPYRIGHT</title>
+ <para>
+ This manual page originally Copyright 2002, Rusty Russell,
+ IBM Corporation. Portions Copyright Jon Masters, and others.
+ </para>
+ </refsect1>
+
+ <refsect1><title>SEE ALSO</title>
+ <para>
+ <citerefentry>
+ <refentrytitle>depmod.d</refentrytitle><manvolnum>5</manvolnum>
+ </citerefentry>,
+ <citerefentry>
+ <refentrytitle>modprobe</refentrytitle><manvolnum>8</manvolnum>
+ </citerefentry>,
+ <citerefentry>
+ <refentrytitle>modules.dep</refentrytitle><manvolnum>5</manvolnum>
+ </citerefentry>
+ </para>
+ </refsect1>
+</refentry>