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

From: Michal Suchánek
Date: Thu Aug 17 2023 - 12:38:35 EST


Hello,

On Tue, Jul 18, 2023 at 02:01:51PM +0200, Michal Suchanek wrote:
> 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.

The patch to kernel to support autodetection of module directory is
rejected. However, a workaround like

make MODLIB='$(INSTALL_MOD_PATH)/usr/lib/modules/$(KERNELRELEASE)'

is suggested.

Can you consider inluding the kmod changes?

Thanks

Michal

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