[source] include: Determine MODULES_DIR correctly for external/git kernels

LEDE Commits lede-commits at lists.infradead.org
Thu May 25 00:22:55 PDT 2017


blogic pushed a commit to source.git, branch master:
https://git.lede-project.org/8e0e0e7d8bfbe7befcaa453f0b4993605703a690

commit 8e0e0e7d8bfbe7befcaa453f0b4993605703a690
Author: Florian Fainelli <f.fainelli at gmail.com>
AuthorDate: Thu May 11 14:33:43 2017 -0700

    include: Determine MODULES_DIR correctly for external/git kernels
    
    When using external or git cloned kernels, any kind of modifications
    will alter KERNELRELEASE. LEDE still tries to stage modules in
    lib/modules/$(LINUX_UNAME_VERSION) and LINUX_UNAME_VERSION is based on
    KERNEL_PATCHVER (indirectly) so this does not work, and we lose all
    kinds of automatic modules loading.
    
    To remedy that, just cat $(LINUX_DIR)/include/config/kernel.release
    which is late enough the kernel has prepared this file, and is correctly
    tracking changes done throughout the kernel.
    
    Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
---
 include/kernel.mk | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/include/kernel.mk b/include/kernel.mk
index 2314ec7..7effca3 100644
--- a/include/kernel.mk
+++ b/include/kernel.mk
@@ -51,17 +51,19 @@ else
     LINUX_UNAME_VERSION:=$(LINUX_UNAME_VERSION)-$(strip $(lastword $(subst -, ,$(LINUX_VERSION))))
   endif
 
-  MODULES_SUBDIR:=lib/modules/$(LINUX_UNAME_VERSION)
-  TARGET_MODULES_DIR := $(LINUX_TARGET_DIR)/$(MODULES_SUBDIR)
-
   LINUX_KERNEL:=$(KERNEL_BUILD_DIR)/vmlinux
 
   LINUX_SOURCE:=linux-$(LINUX_VERSION).tar.xz
   TESTING:=$(if $(findstring -rc,$(LINUX_VERSION)),/testing,)
   ifeq ($(call qstrip,$(CONFIG_EXTERNAL_KERNEL_TREE))$(call qstrip,$(CONFIG_KERNEL_GIT_CLONE_URI)),)
       LINUX_SITE:=@KERNEL/linux/kernel/v$(word 1,$(subst ., ,$(KERNEL_BASE))).x$(TESTING)
+  else
+      LINUX_UNAME_VERSION:=$(strip $(shell cat $(LINUX_DIR)/include/config/kernel.release))
   endif
 
+  MODULES_SUBDIR:=lib/modules/$(LINUX_UNAME_VERSION)
+  TARGET_MODULES_DIR:=$(LINUX_TARGET_DIR)/$(MODULES_SUBDIR)
+
   ifneq ($(TARGET_BUILD),1)
     PKG_BUILD_DIR ?= $(KERNEL_BUILD_DIR)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION))
   endif



More information about the lede-commits mailing list