]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
kbuild: modules-cpio-pkg: Respect INSTALL_MOD_PATH
authorJanne Grunau <j@jannau.net>
Fri, 27 Mar 2026 08:30:29 +0000 (09:30 +0100)
committerNathan Chancellor <nathan@kernel.org>
Mon, 30 Mar 2026 05:38:26 +0000 (07:38 +0200)
The modules-cpio-pkg target added in commit 2a9c8c0b59d3 ("kbuild: add
target to build a cpio containing modules") is incompatible with
initramfs with merged /lib and /usr/lib directories [1]. "/lib" cannot
be a link and directory at the same time.
Respect a non-empty INSTALL_MOD_PATH in the modules-cpio-pkg target so
that `make INSTALL_MOD_PATH=/usr modules-cpio-pkg` results in the same
module install location as `make INSTALL_MOD_PATH=/usr modules_install`.

Tested with Fedora distribution initramfs produced by dracut.

Link: https://systemd.io/THE_CASE_FOR_THE_USR_MERGE/
Fixes: 2a9c8c0b59d3 ("kbuild: add target to build a cpio containing modules")
Cc: stable@vger.kernel.org
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Nicolas Schier <nsc@kernel.org>
Tested-by: Nicolas Schier <nsc@kernel.org>
Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Link: https://patch.msgid.link/20260327-kbuild-modules-cpio-pkg-usr-merge-v3-1-ef507dfa006c@jannau.net
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
scripts/Makefile.package

index 0ec946f9b905f74f8698d8d6967d22f5b76f64e0..6d36786ba31cefaf5ae2c6e2537d421b5bfb7a06 100644 (file)
@@ -195,7 +195,7 @@ tar%-pkg: linux-$(KERNELRELEASE)-$(ARCH).tar.% FORCE
 .tmp_modules_cpio: FORCE
        $(Q)$(MAKE) -f $(srctree)/Makefile
        $(Q)rm -rf $@
-       $(Q)$(MAKE) -f $(srctree)/Makefile INSTALL_MOD_PATH=$@ modules_install
+       $(Q)$(MAKE) -f $(srctree)/Makefile INSTALL_MOD_PATH=$@/$(INSTALL_MOD_PATH) modules_install
 
 quiet_cmd_cpio = CPIO    $@
       cmd_cpio = $(CONFIG_SHELL) $(srctree)/usr/gen_initramfs.sh -o $@ $<
@@ -264,6 +264,7 @@ help:
        @echo '  tarxz-pkg           - Build the kernel as a xz compressed tarball'
        @echo '  tarzst-pkg          - Build the kernel as a zstd compressed tarball'
        @echo '  modules-cpio-pkg    - Build the kernel modules as cpio archive'
+       @echo '                        (uses INSTALL_MOD_PATH inside the archive)'
        @echo '  perf-tar-src-pkg    - Build the perf source tarball with no compression'
        @echo '  perf-targz-src-pkg  - Build the perf source tarball with gzip compression'
        @echo '  perf-tarbz2-src-pkg - Build the perf source tarball with bz2 compression'