linux: run depmod only if modules directory exists
authorPaul Cercueil <paul@crapouillou.net>
Tue, 23 Jun 2020 11:38:59 +0000 (13:38 +0200)
committerYann E. MORIN <yann.morin.1998@free.fr>
Sat, 29 Aug 2020 14:56:30 +0000 (16:56 +0200)
If the modules directory that corresponds to the version of the kernel
being built has been deleted, don't try to run depmod, which will
obviously fail.

This can happen for instance when the modules are stripped from the main
root filesystem, and placed into a separate filesystem image, so that
the root filesystem and the kernel can be updated separately.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
linux/linux.mk

index 20c268b2f78d7f7c95072fe3d8021b70a0121d09..372fa51c7243713c09a7db6074d2ccf3b4f2b06b 100644 (file)
@@ -491,7 +491,8 @@ endef
 # Run depmod in a target-finalize hook, to encompass modules installed by
 # packages.
 define LINUX_RUN_DEPMOD
-       if grep -q "CONFIG_MODULES=y" $(LINUX_DIR)/.config; then \
+       if test -d $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED) \
+               && grep -q "CONFIG_MODULES=y" $(LINUX_DIR)/.config; then \
                $(HOST_DIR)/sbin/depmod -a -b $(TARGET_DIR) $(LINUX_VERSION_PROBED); \
        fi
 endef