Go to file
Lucas De Marchi 4063401a05 build: Stop warning for attribute clang::suppress
That attribute allows us to instruct the Clang Static Analyzer to stop
giving some false positives. However when building the code (with gcc
and clang) they warn that the attribute is ignored. Just ignore as we
know what the attribute is for.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/233
2024-11-11 18:11:11 -06:00
.github ci: add coreutils to Alpine 2024-11-11 16:12:09 -06:00
libkmod libkmod: Prevent ouf of boundary access 2024-11-07 14:29:52 -06:00
m4 m4: remove verbose license exception clause 2024-08-10 11:03:26 -05:00
man man: add modprobe.conf.5 manpage link 2024-11-11 16:12:09 -06:00
scripts scripts/sanitizer-env.sh: support new clang 19 DSO 2024-11-07 11:07:41 -06:00
shared shared: Move cleanup attribute 2024-11-11 18:11:11 -06:00
shell-completion shell-completion/*/insmod: add bash/fish/zsh completion 2024-09-22 16:11:57 -05:00
testsuite Revert "testsuite/path: match the full rootpath" 2024-11-08 11:51:52 -06:00
tools depmod: Check fstatat return value 2024-11-07 14:31:20 -06:00
.clang-format libkmod: Unify READV usages 2024-10-18 14:00:27 -05:00
.codespellignore ci: add more SPDX copyright/license identifiers 2024-09-27 23:08:09 -05:00
.editorconfig ci: add more SPDX copyright/license identifiers 2024-09-27 23:08:09 -05:00
.gitignore gitignore: ignore gtk-doc.m4 2024-07-03 10:14:47 -05:00
.mailmap .mailmap: Forward to my personal email 2024-06-14 13:49:03 -05:00
autogen.sh ci: build: add docs in ci/developer builds 2024-09-06 14:39:06 -05:00
build-dev.ini Enable sanitizers in build-dev.ini 2024-10-18 13:22:11 -05:00
CODING-STYLE CONTRIBUTING.md: mention s-o-b tag, includ DCO copy 2024-09-16 21:49:47 -05:00
configure.ac build: Stop warning for attribute clang::suppress 2024-11-11 18:11:11 -06:00
CONTRIBUTING.md CONTRIBUTING.md: mention about gtk-doc Since: 2024-10-23 23:19:11 -05:00
COPYING Clarify what licences apply where 2014-10-09 01:26:34 -03:00
DCO.txt CONTRIBUTING.md: mention s-o-b tag, includ DCO copy 2024-09-16 21:49:47 -05:00
Makefile.am meson.build: install kmod symlinks to /usr/sbin/ 2024-11-11 16:12:09 -06:00
meson_options.txt meson: s/modulesi/modules/ typo 2024-11-07 10:10:34 -06:00
meson.build build: Stop warning for attribute clang::suppress 2024-11-11 18:11:11 -06:00
NEWS Address all codespell (flagged) typos 2024-08-16 17:05:43 -05:00
README.md README: Add release/distro/end-user recommendation 2024-11-07 11:35:06 -06:00

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

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 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.