pub/scm/utils/kernel/kmod/kmod.git  about / heads / tags
kmod - module management
$ git log --pretty=format:'%h %s (%cs)%d'
dc98aea testsuite: Remove trailing ; (2025-01-03)
	(HEAD -> master)
44855d7 shared/macro: Add _alignedptr_ (2025-01-03)
d7e7c4c shared/macro: Add macros for more attributes (2025-01-03)
0396fc2 testsuite: Fix build when linking with lld (2025-01-03)
47bc914 tools: specify buffer to be size PATH_MAX (2025-01-02)
235a38b strbuf: Extend strbuf_reserve_extra size check (2025-01-02)
bcff223 libkmod: Use correct data types for ELF arithmetic (2025-01-02)
ad689ac lsmod: Simplify code (2024-12-22)
ccc26d6 ci: Add 2 more pipelines to the matrix (2024-12-06)
a3467eb ci: Add configure tests for dlopen (2024-12-06)
...

$ git cat-file blob HEAD:README.md
## 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.

# heads (aka `branches'):
$ git for-each-ref --sort=-creatordate refs/heads \
	--format='%(HEAD) %(refname:short) %(subject) (%(creatordate:short))'
* master       testsuite: Remove trailing ; (2025-01-03)
  ci-test      meson: Stop rebuilding modules over and over (2024-09-09)
  hash-stat2   benchmark hashfind (2013-09-25)

# tags:
$ git for-each-ref --sort=-creatordate refs/tags \
	--format='%(refname:short) %(subject) (%(creatordate:short))'
v33          kmod 33 (2024-08-13) tar.gz
v32          kmod 32 (2024-03-05) tar.gz
v31          kmod 31 (2023-09-29) tar.gz
v30          kmod 30 (2022-06-30) tar.gz
v29          kmod 29 (2021-05-20) tar.gz
v28          kmod 28 (2021-01-07) tar.gz
v27          kmod 27 (2020-02-18) tar.gz
v26          kmod 26 (2019-02-07) tar.gz
v25          kmod 25 (2018-01-08) tar.gz
v24          kmod 24 (2017-02-23) tar.gz
...

# associated public inboxes:
# (number on the left is used for dev purposes)
        511 linux-modules
         66 lkml
         27 linux-kbuild
         15 qemu-devel
         14 netdev
         13 linux-devicetree
         11 dpdk-dev
         11 u-boot
         10 xen-devel
         10 linux-arm-kernel
          8 util-linux
          8 git
          8 dri-devel
          8 intel-gfx
          7 linux-wireless
          6 linux-media
          6 kvm
          6 linux-doc
          6 openembedded-devel
          5 linux-fsdevel
          5 linux-mm
          5 linux-mips
          5 selinux
          5 linux-gpio
          5 linuxppc-dev
          5 buildroot
          5 b4-sent
          5 intel-xe
          4 linux-riscv
          4 linux-xfs
          4 bpf
          4 stable
          4 alsa-devel
          4 linux-kselftest
          4 linux-iio
          4 amd-gfx
          4 linux-omap
          4 linux-spi
          4 openembedded-core
          4 yocto-meta-arm
          4 linux-hotplug
          3 linux-samsung-soc
          3 linux-fscrypt
          3 linux-mtd
          3 linux-mediatek
          3 netfilter-devel
          3 linux-iommu
          3 linux-pm
          3 linux-rtc
          3 linux-scsi
          3 linux-btrfs
          3 driverdev-devel
          3 linux-clk
          3 linux-security-module
          3 linux-f2fs-devel
          3 linux-bluetooth
          3 linux-i2c
          3 lttng-dev
          3 virtualization
          3 linux-arch
          3 linux-can
          3 linux-rockchip
          3 linux-cxl
          3 linux-perf-users
          3 nouveau
          3 nvdimm
          3 iwd
          3 yocto-meta-arago
          3 linux-um
          3 poky
          3 qemu-riscv
          3 lvm-devel
          2 linux-block
          2 linux-nvme
          2 linux-nfs
          2 linux-crypto
          2 linux-acpi
          2 linux-cifs
          2 linux-arm-msm
          2 linux-amlogic
          2 linux-erofs
          2 linux-nvdimm
          2 linux-snps-arc
          2 fstests
          2 linux-input
          2 kvmarm
          2 linux-usb
          2 linux-renesas-soc
          2 dmaengine
          2 linux-rdma
          2 linux-ext4
          2 linux-leds
          2 linux-pci
          2 linux-rt-users
          2 linux-ide
          2 linux-serial
          2 linux-watchdog
          2 linux-trace-devel
          2 backports
          2 linux-csky
          2 linux-man
          2 linux-mmc
          2 linux-firmware
          2 linux-api
          2 linux-audit
          2 linux-remoteproc
          2 linux-sparse
          2 linux-tegra
          2 ceph-devel
          2 containers
          2 linux-raid
          2 phone-devel
          2 openbmc
          2 dm-devel
          2 linux-fbdev
          2 lustre-devel
          2 linux-sh
          2 linux-s390
          2 linux-coco
          2 b43-dev
          2 ltp
          2 yocto
          2 yocto-meta-freescale
          2 yocto-toaster
          2 bitbake-devel
          2 yocto-meta-virtualization
          2 yocto-meta-ti
          2 outreachy
          2 openrisc
          2 intel-wired-lan
          2 kexec
          2 imx
          2 batman
          2 virtio-comment
          2 cluster-devel
          2 grub-devel
          2 cgroups
          2 kvm-ppc
          2 linux-hexagon
          2 reiserfs-devel
          2 linux-nilfs
          2 u-boot-amlogic
          2 virtio-fs
          2 fuego
          2 igt-dev
          1 cocci
          1 live-patching
          1 linux-efi
          1 linux-integrity
          1 linux-edac
          1 linux-hwmon
          1 kernel-hardening
          1 linux-next
          1 linux-parisc
          1 kernelnewbies
          1 linux-sgx
          1 linux-hyperv
          1 workflows
          1 rcu
          1 selinux-refpolicy
          1 linux-m68k
          1 linux-i3c
          1 linux-spdx
          1 linux-wpan
          1 ksummit-discuss
          1 wireguard
          1 io-uring
          1 linux-kernel-mentees
          1 tpmdd-devel
          1 linux-unionfs
          1 cip-dev
          1 linux-dash
          1 linux-bcache
          1 mm-commits
          1 linux-pwm
          1 linux-fpga
          1 xdp-newbies
          1 platform-driver-x86
          1 linux-hardening
          1 dash
          1 keyrings
          1 linux-sctp
          1 target-devel
          1 soc
          1 ocfs2-devel
          1 rust-for-linux
          1 ath10k
          1 ath11k
          1 linux-phy
          1 kernel-janitors
          1 sparclinux
          1 linux-staging
          1 linux-sunxi
          1 mptcp
          1 regressions
          1 ksummit
          1 linux-nfc
          1 linux-bcachefs
          1 ath9k-devel
          1 ntfs3
          1 llvm
          1 fio
          1 ell
          1 ofono
          1 yocto-docs
          1 linux-patches
          1 chrome-platform
          1 ntb
          1 xenomai
          1 damon
          1 asahi
          1 loongarch
          1 ath12k
          1 linux-trace-kernel
          1 oe-linux-nfc
          1 oe-kbuild-all
          1 oe-chipsec
          1 virtio-dev
          1 v9fs
          1 ecryptfs
          1 linux-ia64
          1 kbd
          1 autofs
          1 cpufreq
          1 dccp
          1 devicetree-spec
          1 devicetree-compiler
          1 initramfs
          1 hail-devel
          1 kvm-ia64
          1 linux-8086
          1 kernel-testers
          1 linux-alpha
          1 linux-btrace
          1 linux-embedded
          1 linux-hams
          1 linux-laptop
          1 linux-sound
          1 trinity
          1 linux-metag
          1 linux-x25
          1 lvs-devel
          1 netfilter
          1 linux-oxnas
          1 lm-sensors
          1 acpica-devel
          1 bridge
          1 perfbook
          1 smatch
          1 wireless-regdb
          1 powertop
          1 barebox

git clone https://yhbt.net/lore/pub/scm/utils/kernel/kmod/kmod.git