aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/kernel-defaults.mk1
-rw-r--r--include/kernel.mk6
-rw-r--r--package/kernel/Makefile2
3 files changed, 7 insertions, 2 deletions
diff --git a/include/kernel-defaults.mk b/include/kernel-defaults.mk
index 5fd27ae7cd..52ce03776c 100644
--- a/include/kernel-defaults.mk
+++ b/include/kernel-defaults.mk
@@ -89,6 +89,7 @@ define Kernel/Configure/Default
$(call Kernel/SetInitramfs)
-$(_SINGLE)$(MAKE) $(KERNEL_MAKEOPTS) oldconfig prepare scripts
rm -rf $(KERNEL_BUILD_DIR)/modules
+ $(SH_FUNC) grep '=[ym]' $(LINUX_DIR)/.config | LC_ALL=C sort | md5s > $(LINUX_DIR)/.vermagic
endef
define Kernel/CompileModules/Default
diff --git a/include/kernel.mk b/include/kernel.mk
index 1af072d6bb..c0d8ef8a23 100644
--- a/include/kernel.mk
+++ b/include/kernel.mk
@@ -13,6 +13,7 @@ ifeq ($(DUMP),1)
KERNEL?=<KERNEL>
BOARD?=<BOARD>
LINUX_VERSION?=<LINUX_VERSION>
+ LINUX_VERMAGIC?=<LINUX_VERMAGIC>
else
ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
export GCC_HONOUR_COPTS=s
@@ -35,6 +36,9 @@ else
KERNEL_BUILD_DIR ?= $(BUILD_DIR_BASE)/linux-$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET))$(if $(BUILD_SUFFIX),_$(BUILD_SUFFIX))
LINUX_DIR ?= $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION)
+ LINUX_VERMAGIC:=$(strip $(shell cat $(LINUX_DIR)/.vermagic 2>/dev/null))
+ LINUX_VERMAGIC:=$(if $(LINUX_VERMAGIC),$(LINUX_VERMAGIC),unknown)
+
LINUX_UNAME_VERSION:=$(if $(word 3,$(subst ., ,$(KERNEL_BASE))),$(KERNEL_BASE),$(KERNEL_BASE).0)
ifneq ($(findstring -rc,$(LINUX_VERSION)),)
LINUX_UNAME_VERSION:=$(LINUX_UNAME_VERSION)-$(strip $(lastword $(subst -, ,$(LINUX_VERSION))))
@@ -130,7 +134,7 @@ define KernelPackage
SECTION:=kernel
CATEGORY:=Kernel modules
DESCRIPTION:=$(DESCRIPTION)
- EXTRA_DEPENDS:=kernel (=$(LINUX_VERSION)-$(LINUX_RELEASE))
+ EXTRA_DEPENDS:=kernel (=$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC))
VERSION:=$(LINUX_VERSION)$(if $(PKG_VERSION),+$(PKG_VERSION))-$(if $(PKG_RELEASE),$(PKG_RELEASE),$(LINUX_RELEASE))
$(call KernelPackage/$(1))
$(call KernelPackage/$(1)/$(BOARD))
diff --git a/package/kernel/Makefile b/package/kernel/Makefile
index 13a305d7a1..e094c601ef 100644
--- a/package/kernel/Makefile
+++ b/package/kernel/Makefile
@@ -35,7 +35,7 @@ define Package/kernel
CATEGORY:=Kernel
DEFAULT:=y
TITLE:=Virtual kernel package
- VERSION:=$(LINUX_VERSION)-$(LINUX_RELEASE)
+ VERSION:=$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC)
URL:=http://www.kernel.org/
endef