OVERVIEW
May 7, 2026 ยท View on GitHub
kmod - Linux kernel module handling
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.md 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.
Links
-
Mailing list (no subscription needed): linux-modules@vger.kernel.org
-
Mailing list archives: https://lore.kernel.org/linux-modules/
-
Signed packages: http://www.kernel.org/pub/linux/utils/kernel/kmod/
-
Git:
-
License:
LGPL-2.1-or-laterfor libkmod, testsuite and helper librariesGPL-2.0-or-laterfor tools/
-
Irc:
#kmodon irc.oftc.net
Compilation and installation
In order to compile the source code you need:
- C11 compiler, supporting a range of GNU extensions - GCC 8+, Clang 6+
- POSIX.1-2008 C runtime library - Bionic, GNU C library, musl
Optional dependencies, required with the default build configuration:
- ZLIB library
- LZMA library
- ZSTD library
- OPENSSL library (signature handling in modinfo)
All the optional dependencies are loaded on demand via dlopen by default. This can
be changed via the dlopen build option. Typical configuration and installation:
meson setup builddir/
meson compile -C builddir/
sudo meson install -C builddir/
For end-user and distributions builds, it's recommended to use:
meson setup --buildtype release builddir/
Hacking
When working on kmod, use the included build-dev.ini file, as:
meson setup --native-file build-dev.ini builddir/
The testsuite can be executed with:
meson test -C builddir
It builds test kernel modules, so kernel headers need to be pre-installed. By
default it tries to use the kernel header for the currently running kernel.
KDIR=any environment variable can be used to tell it to use any installed
kernel header or KDIR=/path/to/specific/headers when a specific one is
needed. Example:
KDIR=any meson test -C builddir
Make sure to read our contributing guide and the other READMEs: libkmod and testsuite.
Compatibility with module-init-tools
kmod replaced module-init-tools, which was EOL'ed in 2011. All the tools were rewritten on top of libkmod and they can be used as drop in replacements. Along the years there were a few behavior changes and new features implemented, following feedback from Linux kernel community and distros.