[PATCH 0/4] kmod /usr support

From: Michal Suchanek
Date: Tue Jul 11 2023 - 11:32:20 EST


Hello,

with these patches it is possible to install kernel modules under an
arbitrary prefix - eg. moving the /lib/modules to /usr/lib/modules with
/usr prefix.

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

Having kmod search multiple module locations while only one is supported
now might break some assumption about relative modulke 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 empty $(module_prefix) is equivalent to unpatched kmod.

Thanks

Michal

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

Michal Suchanek (4):
man/depmod.d: Fix incorrect /usr/lib search path
libkmod, depmod: Load modprobe.d, depmod.d from $prefix/lib.
kmod: Add config command to show compile time configuration as JSON
libkmod, depmod, modprobe: Search for kernel modules under
${module_prefix}

Makefile.am | 4 +-
configure.ac | 7 ++
libkmod/libkmod.c | 7 +-
man/Makefile.am | 10 ++-
man/depmod.d.xml | 9 ++-
man/depmod.xml | 4 +-
man/kmod.xml | 6 ++
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.c | 40 ++++++++++
tools/modinfo.c | 4 +-
tools/modprobe.c | 4 +-
tools/static-nodes.c | 6 +-
20 files changed, 166 insertions(+), 88 deletions(-)

--
2.41.0