include/kernel: add custom USER/DOMAIN config options
authorFelix Fietkau <nbd@openwrt.org>
Thu, 28 Jan 2016 22:42:34 +0000 (22:42 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Thu, 28 Jan 2016 22:42:34 +0000 (22:42 +0000)
These allow the generated kernel's build metadata to be defined explicitly.
This metadata is reported, eg, at boot time and in `uname -a` on running
systems. If the variables aren't configured, the current build system username
and hostname are used as normal.

The motivation for this option is to achive reproducible (bit-for-bit
identical) kernel builds of official openwrt releases.

Signed-off-by: bryan newbold <bnewbold@robocracy.org>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 48541

config/Config-kernel.in
include/kernel-defaults.mk

index 6e79bae..c93bbde 100644 (file)
@@ -4,6 +4,22 @@
 # See /LICENSE for more information.
 #
 
+config KERNEL_BUILD_USER
+       string "Custom Kernel Build User Name"
+       default ""
+       help
+         Sets the Kernel build user string, which for example will be returned
+         by 'uname -a' on running systems.
+         If not set, uses system user at build time.
+
+config KERNEL_BUILD_DOMAIN
+       string "Custom Kernel Build Domain Name"
+       default ""
+       help
+         Sets the Kernel build domain string, which for example will be
+         returned by 'uname -a' on running systems.
+         If not set, uses system hostname at build time.
+
 config KERNEL_PRINTK
        bool "Enable support for printk"
        default y
index 052b2b3..ae02556 100644 (file)
@@ -10,6 +10,8 @@ KERNEL_MAKEOPTS := -C $(LINUX_DIR) \
        CROSS_COMPILE="$(KERNEL_CROSS)" \
        ARCH="$(LINUX_KARCH)" \
        KBUILD_HAVE_NLS=no \
+       KBUILD_BUILD_USER="$(call qstrip,$(CONFIG_KERNEL_BUILD_USER))" \
+       KBUILD_BUILD_HOST="$(call qstrip,$(CONFIG_KERNEL_BUILD_DOMAIN))" \
        CONFIG_SHELL="$(BASH)" \
        $(if $(findstring c,$(OPENWRT_VERBOSE)),V=1,V='') \
        $(if $(PKG_BUILD_ID),LDFLAGS_MODULE=--build-id=0x$(PKG_BUILD_ID))