Go to file
Emil Velikov a076809c96 meson: undefine NDEBUG in the tests
When using -D b_ndebug=true or inheriting CFLAGS="-DNDEBUG" from the
environment, the asserts will be no-op thus the checks in the
LD_PRELOADED libraries will be omitted.

Explicitly undefine the macro, so we don't accidentally shoot ourselves
in the foot.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/238
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2024-11-11 18:22:01 -06:00
.github ci: bump the all-actions group across 1 directory with 3 updates 2024-11-11 18:20:24 -06:00
libkmod libkmod: Fix overflow in kmod_module_hex_to_str 2024-11-11 18:15:37 -06:00
m4
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 tree-wide: Sprinkle _clang_suppress_alloc_ 2024-11-11 18:11:11 -06:00
shell-completion
testsuite meson: undefine NDEBUG in the tests 2024-11-11 18:22:01 -06:00
tools tree-wide: Sprinkle _clang_suppress_alloc_ 2024-11-11 18:11:11 -06:00
.clang-format
.codespellignore
.editorconfig
.gitignore
.mailmap
autogen.sh
build-dev.ini
CODING-STYLE
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
DCO.txt
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
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.