diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 17:03:56 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 17:03:56 +0000 |
commit | 18da3ffcd7f3c8a0c5f790c801b5813503c2273d (patch) | |
tree | 84caf98dc5cef3d123c56ba12e35fd67026e0693 /man/depmod.xml | |
parent | Initial commit. (diff) | |
download | kmod-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.xml | 343 |
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> |