[0/4] kmod /usr support

Message ID 20230711153126.28876-1-msuchanek@suse.de
Headers
Series kmod /usr support |

Message

Michal Suchánek July 11, 2023, 3:31 p.m. UTC
  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@suse.de/

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