You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
132 lines
3.7 KiB
132 lines
3.7 KiB
4 months ago
|
kmod - Linux kernel module handling
|
||
|
|
||
|
Information
|
||
|
===========
|
||
|
|
||
|
Build Status:
|
||
|
https://lucasdemarchi.semaphoreci.com/projects/kmod
|
||
|
|
||
|
Mailing list:
|
||
|
linux-modules@vger.kernel.org (no subscription needed)
|
||
|
https://lore.kernel.org/linux-modules/
|
||
|
|
||
|
Patchwork:
|
||
|
https://patchwork.kernel.org/project/linux-modules/
|
||
|
|
||
|
Signed packages:
|
||
|
http://www.kernel.org/pub/linux/utils/kernel/kmod/
|
||
|
|
||
|
Git:
|
||
|
git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git
|
||
|
http://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git
|
||
|
https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git
|
||
|
|
||
|
Gitweb:
|
||
|
http://git.kernel.org/?p=utils/kernel/kmod/kmod.git
|
||
|
|
||
|
Irc:
|
||
|
#kmod on irc.freenode.org
|
||
|
|
||
|
License:
|
||
|
LGPLv2.1+ for libkmod, testsuite and helper libraries
|
||
|
GPLv2+ for tools/*
|
||
|
|
||
|
|
||
|
OVERVIEW
|
||
|
========
|
||
|
|
||
|
kmod is a set of tools to handle common tasks with Linux kernel modules like
|
||
|
insert, remove, list, check properties, resolve dependencies and aliases.
|
||
|
|
||
|
These tools are designed on top of libkmod, a library that is shipped with
|
||
|
kmod. See libkmod/README for more details on this library and how to use it.
|
||
|
The aim is to be compatible with tools, configurations and indexes from
|
||
|
module-init-tools project.
|
||
|
|
||
|
Compilation and installation
|
||
|
============================
|
||
|
|
||
|
In order to compiler the source code you need following software packages:
|
||
|
- GCC compiler
|
||
|
- GNU C library
|
||
|
|
||
|
Optional dependencies:
|
||
|
- ZLIB library
|
||
|
- LZMA library
|
||
|
|
||
|
Typical configuration:
|
||
|
./configure CFLAGS="-g -O2" --prefix=/usr \
|
||
|
--sysconfdir=/etc --libdir=/usr/lib
|
||
|
|
||
|
Configure automatically searches for all required components and packages.
|
||
|
|
||
|
To compile and install run:
|
||
|
make && make install
|
||
|
|
||
|
Hacking
|
||
|
=======
|
||
|
|
||
|
Run 'autogen.sh' script before configure. If you want to accept the recommended
|
||
|
flags, you just need to run 'autogen.sh c'. Note that the recommended
|
||
|
flags require cython be installed to compile successfully.
|
||
|
|
||
|
Make sure to read the CODING-STYLE file and the other READMEs: libkmod/README
|
||
|
and testsuite/README.
|
||
|
|
||
|
Compatibility with module-init-tools
|
||
|
====================================
|
||
|
|
||
|
kmod replaces module-init-tools, which is end-of-life. Most of its tools are
|
||
|
rewritten on top of libkmod so it can be used as a drop in replacements.
|
||
|
Somethings however were changed. Reasons vary from "the feature was already
|
||
|
long deprecated on module-init-tools" to "it would be too much trouble to
|
||
|
support it".
|
||
|
|
||
|
There are several features that are being added in kmod, but we don't
|
||
|
keep track of them here.
|
||
|
|
||
|
modprobe
|
||
|
--------
|
||
|
|
||
|
* 'modprobe -l' was marked as deprecated and does not exist anymore
|
||
|
|
||
|
* 'modprobe -t' is gone, together with 'modprobe -l'
|
||
|
|
||
|
* modprobe doesn't parse configuration files with names not ending in
|
||
|
'.alias' or '.conf'. modprobe used to warn about these files.
|
||
|
|
||
|
* modprobe doesn't parse 'config' and 'include' commands in configuration
|
||
|
files.
|
||
|
|
||
|
* modprobe from m-i-t does not honour softdeps for install commands. E.g.:
|
||
|
config:
|
||
|
|
||
|
install bli "echo bli"
|
||
|
install bla "echo bla"
|
||
|
softdep bla pre: bli
|
||
|
|
||
|
With m-i-t, the output of 'modprobe --show-depends bla' will be:
|
||
|
install "echo bla"
|
||
|
|
||
|
While with kmod:
|
||
|
install "echo bli"
|
||
|
install "echo bla"
|
||
|
|
||
|
* kmod doesn't dump the configuration as is in the config files. Instead it
|
||
|
dumps the configuration as it was parsed. Therefore, comments and file names
|
||
|
are not dumped, but on the good side we know what the exact configuration
|
||
|
kmod is using. We did this because if we only want to know the entire content
|
||
|
of configuration files, it's enough to use find(1) in modprobe.d directories
|
||
|
|
||
|
depmod
|
||
|
------
|
||
|
|
||
|
* there's no 'depmod -m' option: legacy modules.*map files are gone
|
||
|
|
||
|
lsmod
|
||
|
-----
|
||
|
|
||
|
* module-init-tools used /proc/modules to parse module info. kmod uses
|
||
|
/sys/module/*, but there's a fallback to /proc/modules if the latter isn't
|
||
|
available
|