405 lines
15 KiB
HTML
405 lines
15 KiB
HTML
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML><HEAD><TITLE>Man page of MODULE-ASSISTANT</TITLE>
|
|
</HEAD><BODY>
|
|
<H1>MODULE-ASSISTANT</H1>
|
|
Section: (8)<BR>Updated: 06 September 2003<BR><A HREF="#index">Index</A>
|
|
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
|
|
|
|
<P>
|
|
<A NAME="lbAB"> </A>
|
|
<H2>NAME</H2>
|
|
|
|
module-assistant - manage kernel modules packages
|
|
<A NAME="lbAC"> </A>
|
|
<H2>SYNOPSIS</H2>
|
|
|
|
<P>
|
|
<B>module-assistant</B> [ <B>-fihnqstv</B> ] [ <B>-k </B><I>source/headers directory</I><B></B> ] [ <B>-l </B><I>kernel versions</I><B></B> ] { <B>update</B> | <B>search</B> | <B>prepare</B> | <B>auto-install</B> | <B>list</B> | <B>list-available</B> | <B>list-installed</B> | <B>auto-unpacked</B> | <B>get</B> | <B>build</B> | <B>install</B> | <B>clean</B> | <B>purge</B> | <B>fakesource</B> } [ <B></B><I>pkg</I><B></B><I> ...</I> ]
|
|
<P>
|
|
<P>
|
|
<B>m-a ...</B>
|
|
<P>
|
|
<A NAME="lbAD"> </A>
|
|
<H2>DESCRIPTION</H2>
|
|
|
|
<P>
|
|
|
|
<B>module-assistant</B> is the command-line tool for handling
|
|
module-source packages that have been prepared for the Debian
|
|
distribution. It helps users to build and install module package(s)
|
|
easily for one or more custom kernels.
|
|
<P>
|
|
|
|
Unless the <B>-h</B>, or <B>--help</B> option is given, one of
|
|
the commands below should be present to invoke a function
|
|
explicitly. If no (or no valid) command is specified and the
|
|
dialog tool is available, a simple graphical user
|
|
interface will pop up and guide you trough the available
|
|
functionality.
|
|
<P>
|
|
|
|
NOTE: don't even think about using some random linux-source-x.y.z
|
|
package contents (or linux-x.y.z tarball from the Internet) to
|
|
specify the kernel source for your currently running
|
|
kernel. <B>Don't!</B> Those source is not exactly what
|
|
have been used to build the running kernel and its configuration
|
|
most likely does not match yours. You need the configured kernel
|
|
source directory or at least the derived linux-headers-... package
|
|
containing the kernel configuration for the exact kernel version
|
|
(complete version string). If you do not understand anything of
|
|
the above, run "m-a prepare" and/or look at the description and
|
|
contents of some linux-headers-... package. Please run
|
|
the <B>module-assistant prepare</B> command once before
|
|
you do anything else.
|
|
<P>
|
|
|
|
For some packages, linux-headers (reduced source) is not
|
|
enough. You will have the choice to run a completely customized
|
|
kernel, or to recreate the source that have been used to build the
|
|
current one. The <B>fakesource</B> function may be useful, see
|
|
below.
|
|
<P>
|
|
|
|
In order to configure a kernel source properly, you need to make
|
|
sure that the file version.h is generated. To get it, configure the
|
|
options as usual (<B>make menuconfig</B> etc.) and
|
|
run <B>make dep</B> (for kernel 2.4.x) or <B>make
|
|
prepare</B> (for newer ones).
|
|
<A NAME="lbAE"> </A>
|
|
<H2>COMMANDS</H2>
|
|
|
|
<P>
|
|
|
|
Most commands require a specification of the package names that
|
|
they should be applied on. <B>pkg</B> can be a single word
|
|
(package name) or multiple names. The word <B>all</B> will be
|
|
expanded to the list of all available packages, the word
|
|
<B>alli</B> to the list of currently installed (source) packages
|
|
and the word <B>allu</B> will be expanded to the list of
|
|
packages that seem to be installed and unpacked in the base source
|
|
directory. If a source package with the given name is not
|
|
available, <B>module-assistant</B> (abbreviated: <B>m-a</B>)
|
|
will extend the package name with the popular suffixes like
|
|
-kernel, -driver, -module, -source and combinations of them.
|
|
<P>
|
|
|
|
Multiple commands can be specified in one invocation,
|
|
eg. "<B>m-a clean,get,build arla cdfs</B>" is the short way to
|
|
write "module-assistant clean arla-modules-source ;
|
|
module-assistant clean cdfs-src ; module-assistant get
|
|
arla-modules-source cdfs-src ; module-assistant build
|
|
arla-modules-source cdfs-src" (or similar).
|
|
<P>
|
|
|
|
If you do not like the dialog/whiptail GUI, feel free to use the
|
|
<B>-t</B> switch to disable it.
|
|
<P>
|
|
|
|
<DL COMPACT>
|
|
<DT id="1"><B>update</B><DD>
|
|
update is used to resynchronize the version index files
|
|
from their sources. This happens with helper scripts provided by
|
|
the packages. <B>module-assistant</B> has a default built-in
|
|
list of the packages that it should look for but other packages
|
|
can be registered by <B>module-assistant</B> if the maintainer
|
|
adds the helper script.
|
|
<DT id="2"><B>prepare</B><DD>
|
|
Tries to determine the name of the required linux-headers
|
|
package (either the one matching the currently running kernel or
|
|
for the versions specified with <B>-l</B>), installs it if needed and
|
|
creates the /usr/src/linux symlink if
|
|
needed. Also installs the build-essential package to ensure that
|
|
a sane compiler environment is established.
|
|
<DT id="3"><B>fakesource</B><DD>
|
|
Experimental function which tries to determine the name of the
|
|
required/compatible linux-source package, installs it, modifies
|
|
the Makefile to look like the original source and runs
|
|
configuration routines as needed. Warning: DO NOT RELY ON THE
|
|
RESULTING SOURCE. It may be very different from the original
|
|
version.
|
|
<DT id="4"><B>list | list-available | la</B><DD>
|
|
list-available (abbreviated with la) presents
|
|
a list of details about specified packages, including installed
|
|
version, installable versions and recently built binary
|
|
packages. If the package names are omitted, shows all known
|
|
packages. With <B>-v</B>, prints long package paths.
|
|
<DT id="5"><B>list-installed | li</B><DD>
|
|
Synonym to list alli. Acts like
|
|
list-available but limits the list to the installed
|
|
source packages.
|
|
<DT id="6"><B>search</B><DD>
|
|
Synonym to list -s. Looks for locally compiled packages
|
|
first and (if none found) searches for alternative installation
|
|
candidates with apt-cache.
|
|
<DT id="7"><B>get</B><DD>
|
|
get followed by the package list installs the package
|
|
source, downloading source packages when needed.
|
|
<DT id="8"><B>build</B><DD>
|
|
build is followed by one or more source packages that
|
|
should be built. It chooses the kernel source appropriate for the
|
|
currently running kernel unless different directories have been
|
|
specified. If the build fails, look for the most recent log file
|
|
in /var/cache/modass (or the user-specified location).
|
|
<DT id="9"><B>install</B><DD>
|
|
install is followed by one or more packages desired for
|
|
installation. The last built package for the current running
|
|
kernel is chosen.
|
|
<DT id="10"><B>auto-install | a-i</B><DD>
|
|
auto-install is followed by one or more packages
|
|
desired for installation. It will run prepare to configure your
|
|
system to build packages, get the package source, try to build it
|
|
for the current kernel and install it. You can use
|
|
alli or allu shortcuts to select all
|
|
installed modules source packages or only those that have been
|
|
unpacked before (similar to the make-kpkg tool normally
|
|
does, looking in $MODULE_LOC)
|
|
<DT id="11"><B>auto-build | a-b</B><DD>
|
|
like auto-install but does not install the package
|
|
immediately
|
|
<DT id="12"><B>clean</B><DD>
|
|
clean clears the build directories of the kernel
|
|
packages.
|
|
<DT id="13"><B>purge</B><DD>
|
|
purge clears the information cache of a source package
|
|
and removes all binary packages locally built from it (that
|
|
module-assistant knows about). USE WITH CARE!
|
|
</DL>
|
|
<A NAME="lbAF"> </A>
|
|
<H2>OPTIONS</H2>
|
|
|
|
<DL COMPACT>
|
|
<DT id="14"><B>-t</B><DD>
|
|
<DT id="15"><B>--text-mode</B><DD>
|
|
Show pure build/install/update logs, no progress bars.
|
|
<DT id="16"><B>-k</B><DD>
|
|
<DT id="17"><B>--kernel-dir</B><DD>
|
|
The kernel source directories to be used for builds. You can
|
|
specify multiple directories with multiple options or separated by
|
|
commas or line separators (e.g using
|
|
<B>-k "`echo /usr/src/linux-headers-*`"</B>
|
|
).
|
|
The kernel versions detected in this directories are automatically
|
|
added to the list of target kernel versions
|
|
(see <B>--kvers-list</B> for details).
|
|
<DT id="18"><B>-l</B><DD>
|
|
<DT id="19"><B>--kvers-list</B><DD>
|
|
List of kernel version strings (as in KVERS) to act on. If omitted,
|
|
the version string of the currently running kernel is inserted. If
|
|
<B>--kernel-dir</B> specifies additional source
|
|
directories, the kernel versions that belong to them will be
|
|
inserted too.
|
|
<P>
|
|
The locations of the kernel source (or headers) that belong to this
|
|
kernel versions are either detected by a lookup in the "usual"
|
|
locations on Linux systems, or they must be specified with the
|
|
<B>--kernel-dir</B> option.
|
|
<DT id="20"><B>-v</B><DD>
|
|
<DT id="21"><B>--verbose</B><DD>
|
|
Shows a bit more information, like full paths of the binary
|
|
packages.
|
|
<DT id="22"><B>-n</B><DD>
|
|
<DT id="23"><B>--no-rebuild</B><DD>
|
|
If a package that is to be generated does already exist in the
|
|
target directory (maybe in on older version), <B>-n</B> prevents
|
|
from building the package again.
|
|
<P>
|
|
The default behaviour is to skip when exactly the same file (with
|
|
the same filename) is to be generated as the one that already
|
|
exists, and the new filename could be detected before starting the
|
|
build process (depends on the module package).
|
|
<DT id="24"><B>-f</B><DD>
|
|
<DT id="25"><B>--force</B><DD>
|
|
Never look for target file (in another version) and force a build.
|
|
For the get command, download a newer version of a package even if
|
|
it is already installed.
|
|
<DT id="26"><B>-u</B><DD>
|
|
<DT id="27"><B>--userdir</B><DD>
|
|
All relevant environment variables with paths will be redirected to
|
|
new directories under the one specified with this option.
|
|
<DT id="28"><B>-i</B><DD>
|
|
<DT id="29"><B>--non-inter</B><DD>
|
|
When the package build was not successful, just continue with other
|
|
candidates. By default, module-assistant will suggest to examine
|
|
the build log. This option may also modify the behaviour of dpkg
|
|
and apt-get to reduce the need for human interaction and install
|
|
build dependencies as needed.
|
|
<DT id="30"><B>-o</B><DD>
|
|
<DT id="31"><B>--unpack-once</B><DD>
|
|
Try to not unpack twice. The option needs to be also specified when
|
|
the package is being unpacked for the first time. Experimental
|
|
option, don't rely on it.
|
|
<DT id="32"><B>-O</B><DD>
|
|
<DT id="33"><B>--not-unpack</B><DD>
|
|
Never unpack the source tarball. Useful after manual manipulation
|
|
of module source.
|
|
<DT id="34"><B>-q</B><DD>
|
|
<DT id="35"><B>--quiet</B><DD>
|
|
Suppress some of the noisy messages during the processing.
|
|
<DT id="36"><B>-S</B><DD>
|
|
<DT id="37"><B>--sudo-cmd</B><DD>
|
|
A replacement command for superuser commands to be used instead of
|
|
sudo.
|
|
<DT id="38"><B>-s</B><DD>
|
|
<DT id="39"><B>--apt-search</B><DD>
|
|
See search command for details.
|
|
<DT id="40"><B>-h</B><DD>
|
|
<DT id="41"><B>--help</B><DD>
|
|
Prints the usage overview.
|
|
</DL>
|
|
<A NAME="lbAG"> </A>
|
|
<H2>ENVIRONMENT VARIABLES</H2>
|
|
|
|
<P>
|
|
|
|
You can export the following environment variables to modify the
|
|
behaviour of the build scripts. Some packages may ignore them or
|
|
interpret them differently.
|
|
<DL COMPACT>
|
|
<DT id="42"><B>KPKG_DEST_DIR</B><DD>
|
|
KPKG_DEST_DIR specify the target directory where the
|
|
resulting Debian package should be installed into. However, many
|
|
packages ignore this variable and install the file into the
|
|
directory above the kernel source directory or above the current
|
|
directory.
|
|
<DT id="43"><B>KERNELDIRS</B><DD>
|
|
KERNELDIRS specifies or extends the list of kernel
|
|
source/header directory which m-a should build modules for. See
|
|
/-k/-Option for details.
|
|
<DT id="44"><B>SIGNCHANGES</B><DD>
|
|
If SIGNCHANGES is set, .changes files will be generated
|
|
(calling kdist_image rule instead of kdist) and debsign
|
|
(or gpg or pgp) will be executed to sign the changes.
|
|
<DT id="45"><B>KMAINT | DEBFULLNAME | DEBNAME</B><DD>
|
|
Specifies the realname of the person building the package
|
|
(interesting for .changes file only)
|
|
<DT id="46"><B>KEMAIL | DEBEMAIL</B><DD>
|
|
Specifies the email address of the person building the package
|
|
(interesting for .changes file only).
|
|
<DT id="47"><B>MODULE_LOC</B><DD>
|
|
A different location for the (already extracted) module source
|
|
directories. Default is <I>/usr/src/modules</I>.
|
|
<DT id="48"><B>MA_VARDIR</B><DD>
|
|
A different location for cached data, used by helper scripts from
|
|
<B>module-assistant</B>. Default
|
|
is <I>/var/cache/modass</I>.
|
|
<DT id="49"><B>MA_APTCMD</B><DD>
|
|
Command to download install packages, to use instead of the
|
|
<B>apt-get</B>.
|
|
<DT id="50"><B>MOD_SRCDIR</B><DD>
|
|
A different location for module source tarballs. Default is
|
|
<I>/usr/src</I>.
|
|
<DT id="51"><B>ROOT_CMD</B><DD>
|
|
Wrapper command to execute command as root. If you are not root,
|
|
fakeroot is chosen automatically. This variable must be
|
|
interpreted by individual packages so some of them may ignore
|
|
it. However, you can still run module-assistant inside of the
|
|
ROOT_CMD wrapper.
|
|
</DL>
|
|
<A NAME="lbAH"> </A>
|
|
<H2>NON-ROOT USAGE</H2>
|
|
|
|
<P>
|
|
|
|
<B>module-assistant</B> can work without being root. However you
|
|
won't be able to use apt-get or dpkg to install the packages, and
|
|
you cannot write to <I>/var/cache/modass</I> on a
|
|
normal Debian system. So the commands
|
|
are <B>get</B>, <B>install</B>,
|
|
<B>auto-install</B> and <B>prepare</B> are taboo for
|
|
regular users. However, if the sudo program is installed, it will be
|
|
invoked for apt-get and dpkg operations.
|
|
All remaining commands except of <B>list</B>
|
|
require additional environment variables to move the target paths to
|
|
locations writable for the user. They all can be trimmed to a
|
|
certain location (a writable directory) using the <B>-u</B> switch.
|
|
<A NAME="lbAI"> </A>
|
|
<H2>FILES</H2>
|
|
|
|
<DL COMPACT>
|
|
<DT id="52"><B></B><I>/usr/share/modass/packages/*</I><B></B><DD>
|
|
List of helper scripts shipped with the module-assistant package.
|
|
<DT id="53"><B></B><I>/usr/share/modass/overrides/*</I><B></B><DD>
|
|
Helper scripts installed by other packages.
|
|
</DL>
|
|
<A NAME="lbAJ"> </A>
|
|
<H2>SEE ALSO</H2>
|
|
|
|
<P>
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?1+make-kpkg">make-kpkg</A></B>(1),
|
|
<B></B><I>/usr/share/doc/module-assistant/README</I><B></B>
|
|
<A NAME="lbAK"> </A>
|
|
<H2>BUGS</H2>
|
|
|
|
<P>
|
|
|
|
See the module-assistant bug page <URL:<A HREF="http://bugs.debian.org/src:module-assistant">http://bugs.debian.org/src:module-assistant</A>>.
|
|
If you wish to report a bug in module-assistant, please use
|
|
the
|
|
<B><A HREF="/cgi-bin/man/man2html?1+reportbug">reportbug</A></B>(1)
|
|
command.
|
|
<A NAME="lbAL"> </A>
|
|
<H2>RETURN CODES</H2>
|
|
|
|
<DL COMPACT>
|
|
<DT id="54"><B>0</B><DD>
|
|
Success
|
|
<DT id="55"><B>1..249</B><DD>
|
|
various errors during the build process
|
|
<DT id="56"><B>254</B><DD>
|
|
problem with permissions
|
|
<DT id="57"><B>255</B><DD>
|
|
fixable error after user intervention
|
|
</DL>
|
|
<A NAME="lbAM"> </A>
|
|
<H2>TODO</H2>
|
|
|
|
<P>
|
|
|
|
Quicklist (fast output without details)
|
|
<P>
|
|
|
|
Integration into APT and/or into the init system
|
|
<P>
|
|
|
|
"Aggressive" debianisation using the templates set (to generate a
|
|
package with guessed name from any source that looks like being
|
|
compatible with kernel 2.6 build system)
|
|
<P>
|
|
|
|
Automatic transformation of kernel sources to generate .udeb packages
|
|
<A NAME="lbAN"> </A>
|
|
<H2>AUTHOR</H2>
|
|
|
|
<P>
|
|
|
|
Module-Assistant was written by Eduard
|
|
Bloch <<A HREF="mailto:blade@debian.org">blade@debian.org</A>> for the Debian distribution.
|
|
<P>
|
|
|
|
<HR>
|
|
<A NAME="index"> </A><H2>Index</H2>
|
|
<DL>
|
|
<DT id="58"><A HREF="#lbAB">NAME</A><DD>
|
|
<DT id="59"><A HREF="#lbAC">SYNOPSIS</A><DD>
|
|
<DT id="60"><A HREF="#lbAD">DESCRIPTION</A><DD>
|
|
<DT id="61"><A HREF="#lbAE">COMMANDS</A><DD>
|
|
<DT id="62"><A HREF="#lbAF">OPTIONS</A><DD>
|
|
<DT id="63"><A HREF="#lbAG">ENVIRONMENT VARIABLES</A><DD>
|
|
<DT id="64"><A HREF="#lbAH">NON-ROOT USAGE</A><DD>
|
|
<DT id="65"><A HREF="#lbAI">FILES</A><DD>
|
|
<DT id="66"><A HREF="#lbAJ">SEE ALSO</A><DD>
|
|
<DT id="67"><A HREF="#lbAK">BUGS</A><DD>
|
|
<DT id="68"><A HREF="#lbAL">RETURN CODES</A><DD>
|
|
<DT id="69"><A HREF="#lbAM">TODO</A><DD>
|
|
<DT id="70"><A HREF="#lbAN">AUTHOR</A><DD>
|
|
</DL>
|
|
<HR>
|
|
This document was created by
|
|
<A HREF="/cgi-bin/man/man2html">man2html</A>,
|
|
using the manual pages.<BR>
|
|
Time: 00:06:14 GMT, March 31, 2021
|
|
</BODY>
|
|
</HTML>
|