[PATCH kmod v5 0/5] kmod /usr support

From: Michal Suchanek
Date: Tue Jul 18 2023 - 08:03:33 EST


Hello,

with these patches it is possible to install kernel modules in an arbitrary
directory - eg. moving the /lib/modules to /usr/lib/modules or /opt/linux.

While the modprobe.d and depmod.d search which already includes multiple
paths is expanded to also include $(prefix) the module directory still
supports only one location, only a different one under $(module_directory).

Having kmod search multiple module locations while only one is supported now
might break some assumption about relative module path corresponding to a
specific file, would require more invasive changes to implement, and is not
supportive of the goal of moving the modules away from /lib.

Both kmod and the kernel need to be patched to make use of this feature.
Patched kernel is backwards compatible with older kmod. Patched kmod
with $(module_directory) set to /lib/modules is equivalent to unpatched kmod.

Thanks

Michal

Link: https://lore.kernel.org/linux-modules/20210112160211.5614-1-msuchanek@xxxxxxx/

v4: set whole path to module directory instead of adding prefix
v5: use pkg-config instead of jq, fix build on openssl without sm3 support


Michal Suchanek (5):
configure: Detect openssl sm3 support
man/depmod.d: Fix incorrect /usr/lib search path
libkmod, depmod: Load modprobe.d, depmod.d from ${prefix}/lib.
kmod: Add pkgconfig file with kmod compile time configuration
libkmod, depmod, modprobe: Make directory for kernel modules
configurable

Makefile.am | 6 +-
configure.ac | 30 ++++++++
libkmod/libkmod.c | 11 +--
man/Makefile.am | 10 ++-
man/depmod.d.xml | 9 ++-
man/depmod.xml | 4 +-
man/modinfo.xml | 2 +-
man/modprobe.d.xml | 1 +
man/modprobe.xml | 2 +-
man/modules.dep.xml | 6 +-
testsuite/module-playground/Makefile | 2 +-
testsuite/setup-rootfs.sh | 109 +++++++++++++++------------
testsuite/test-depmod.c | 16 ++--
testsuite/test-testsuite.c | 8 +-
tools/depmod.c | 7 +-
tools/kmod.pc.in | 10 +++
tools/modinfo.c | 4 +-
tools/modprobe.c | 4 +-
tools/static-nodes.c | 6 +-
19 files changed, 156 insertions(+), 91 deletions(-)
create mode 100644 tools/kmod.pc.in

--
2.41.0