[PATCH] kbuild: depmod: fallback to /boot/System.map-KERNELRELEASE
From: Adrián García Casado
Date: Fri Oct 16 2026 - 07:15:15 EST
When installing external modules (M=...) against packaged kernel headers
such as linux-headers built via 'make bindeb-pkg', ${objtree}/System.map
is absent because System.map is located in:
/boot/System.map-${KERNELRELEASE}
Currently, scripts/depmod.sh only checks ${objtree}/System.map and skips
running depmod with a warning, leaving newly installed out-of-tree
modules unindexed in modules.dep.
Fall back to ${INSTALL_MOD_PATH}/boot/System.map-${KERNELRELEASE} when
${objtree}/System.map is not readable so that depmod runs properly
during external module installation.
Signed-off-by: Adrián García Casado <adriangarciacasado42@xxxxxxxxx>
---
scripts/depmod.sh | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/scripts/depmod.sh b/scripts/depmod.sh
index 3c34fecac..d6d1b9547 100755
--- a/scripts/depmod.sh
+++ b/scripts/depmod.sh
@@ -12,9 +12,14 @@ KERNELRELEASE=$1
: ${DEPMOD:=depmod}
-if ! test -r "${objtree}/System.map" ; then
- echo "Warning: modules_install: missing 'System.map' file. Skipping depmod." >&2
- exit 0
+system_map="${objtree}/System.map"
+if ! test -r "${system_map}" ; then
+ if test -r "${INSTALL_MOD_PATH}/boot/System.map-${KERNELRELEASE}" ; then
+ system_map="${INSTALL_MOD_PATH}/boot/System.map-${KERNELRELEASE}"
+ else
+ echo "Warning: modules_install: missing 'System.map' file. Skipping depmod." >&2
+ exit 0
+ fi
fi
# legacy behavior: "depmod" in /sbin, no /sbin in PATH
@@ -25,7 +30,7 @@ if [ -z $(command -v $DEPMOD) ]; then
exit 0
fi
-set -- -ae -F "${objtree}/System.map"
+set -- -ae -F "${system_map}"
if test -n "$INSTALL_MOD_PATH"; then
set -- "$@" -b "$INSTALL_MOD_PATH"
fi
--
2.39.5