## 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 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: - Official: https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git - Mirror: https://github.com/kmod-project/kmod - Mirror: https://kernel.googlesource.com/pub/scm/utils/kernel/kmod/kmod.git - License: - LGPLv2.1+ for libkmod, testsuite and helper libraries - GPLv2+ for tools/* - Irc: `#kmod` on irc.oftc.net - Issues: https://github.com/kmod-project/kmod/issues Compilation and installation ============================ In order to compile the source code you need the following software packages: - GCC/CLANG compiler - GNU C library / musl / uClibc Optional dependencies, required with the default build configuration: - ZLIB library - LZMA library - ZSTD library - OPENSSL library (signature handling in modinfo) 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/ Alternatively you can try autotools build. NOTE: The autotools build is slated for removal with kmod v35 ./configure CFLAGS="-g -O2" --prefix=/usr \ --sysconfdir=/etc --libdir=/usr/lib make && make install Hacking ======= When working on kmod, use the included `build-dev.ini` file, as: meson setup --native-file build-dev.ini builddir/ Make sure to read [our contributing guide](CONTRIBUTING.md) and the other READMEs: [libkmod](libkmod/README) and [testsuite](testsuite/README). 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.