[Buildroot] [PATCH] linux: add an option to install kernel headers into staging

Nicolas Serafini nicolas.serafini at sensefly.com
Tue Mar 24 10:00:30 UTC 2015


The kernel headers are installed into /usr/src/linux-headers-version
of the staging folder.

These headers can be used, for example, by a post build script to
install or update some new headers from the kernel in /usr/include of
the staging.

Signed-off-by: Nicolas Serafini <nicolas.serafini at sensefly.com>
---
 linux/Config.in | 6 ++++++
 linux/linux.mk  | 9 +++++++++
 2 files changed, 15 insertions(+)

diff --git a/linux/Config.in b/linux/Config.in
index fa3232f..dd97211 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -354,6 +354,12 @@ config BR2_LINUX_KERNEL_INSTALL_TARGET
 	  /boot if DTBs have been generated by the kernel build
 	  process.
 
+config BR2_LINUX_KERNEL_INSTALL_HEADERS
+	bool "Install kernel headers to staging"
+	help
+	  Select this option to have the kernel headers installed to
+	  staging in /usr/src/linux-headers-version folder.
+
 # Linux extensions
 source "linux/Config.ext.in"
 
diff --git a/linux/linux.mk b/linux/linux.mk
index 5a0ba01..c7792d4 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -7,6 +7,9 @@
 LINUX_VERSION = $(call qstrip,$(BR2_LINUX_KERNEL_VERSION))
 LINUX_LICENSE = GPLv2
 LINUX_LICENSE_FILES = COPYING
+ifeq ($(BR2_LINUX_KERNEL_INSTALL_HEADERS),y)
+LINUX_INSTALL_STAGING=YES
+endif
 
 # Compute LINUX_SOURCE and LINUX_SITE from the configuration
 ifeq ($(BR2_LINUX_KERNEL_CUSTOM_TARBALL),y)
@@ -54,6 +57,7 @@ LINUX_MAKE_FLAGS = \
 	HOSTCFLAGS="$(HOSTCFLAGS)" \
 	ARCH=$(KERNEL_ARCH) \
 	INSTALL_MOD_PATH=$(TARGET_DIR) \
+	INSTALL_HDR_PATH="$(STAGING_DIR)/usr/src/linux-headers-$(LINUX_VERSION)" \
 	CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)" \
 	DEPMOD=$(HOST_DIR)/sbin/depmod
 
@@ -297,6 +301,11 @@ define LINUX_INSTALL_KERNEL_IMAGE_TO_TARGET
 endef
 endif
 
+ifeq ($(BR2_LINUX_KERNEL_INSTALL_HEADERS),y)
+define LINUX_INSTALL_STAGING_CMDS
+	$(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_TARGET_NAME) headers_install
+endef
+endif
 
 define LINUX_INSTALL_HOST_TOOLS
 	# Installing dtc (device tree compiler) as host tool, if selected
-- 
2.3.4



More information about the buildroot mailing list