[OE-core] [PATCH 3/4] kernel: Add kernel-headers package for target module build

Darren Hart dvhart at linux.intel.com
Fri Jun 29 04:18:01 UTC 2012


[YOCTO #1614]

Add a kernel-headers package to kernel.bbclass. This packages
effectively packages what was already built and kept in sysroots for
building modules with bitbake. Making this available on the target
requires removing some additional host binaries.

Move the location to /usr/src/kernel-headers.

Before use on the target, the user will need to:

    # cd /usr/src/kernel-headers
    # make scripts

Signed-off-by: Darren Hart <dvhart at linux.intel.com>
CC: Bruce Ashfield <bruce.ashfield at windriver.com>
CC: Tom Zanussi <tom.zanussi at intel.com>
CC: Khem Raj <raj.khem at gmail.com>
---
 meta/classes/kernel.bbclass |   11 +++++++----
 meta/conf/bitbake.conf      |    2 +-
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 31e633b..b82af74 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -130,7 +130,7 @@ kernel_do_install() {
 	# Support for external module building - create a minimal copy of the
 	# kernel source tree.
 	#
-	kerneldir=${D}/kernel
+	kerneldir=${D}/usr/src/kernel-headers
 	install -d $kerneldir
 
 	#
@@ -183,10 +183,11 @@ kernel_do_install() {
 		cp arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o
 	fi
 
-	# Remove the following binaries which cause strip errors
+	# Remove the following binaries which cause strip or arch QA errors
 	# during do_package for cross-compiled platforms
 	bin_files="arch/powerpc/boot/addnote arch/powerpc/boot/hack-coff \
-	           arch/powerpc/boot/mktree"
+	           arch/powerpc/boot/mktree scripts/kconfig/zconf.tab.o \
+		   scripts/kconfig/conf.o"
 	for entry in $bin_files; do
 		rm -f $kerneldir/$entry
 	done
@@ -247,13 +248,15 @@ EXPORT_FUNCTIONS do_compile do_install do_configure
 
 # kernel-base becomes kernel-${KERNEL_VERSION}
 # kernel-image becomes kernel-image-${KERNEL_VERISON}
-PACKAGES = "kernel kernel-base kernel-vmlinux kernel-image kernel-dev kernel-misc"
+PACKAGES = "kernel kernel-base kernel-vmlinux kernel-image kernel-dev \
+            kernel-misc kernel-headers"
 FILES = ""
 FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*"
 FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config*"
 FILES_kernel-vmlinux = "/boot/vmlinux*"
 # misc is a package to contain files we need in staging
 FILES_kernel-misc = "/kernel/include/config /kernel/scripts /kernel/drivers/crypto /kernel/drivers/media"
+FILES_kernel-headers = "/usr/src/kernel-headers"
 RDEPENDS_kernel = "kernel-base"
 # Allow machines to override this dependency if kernel image files are 
 # not wanted in images as standard
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 9b26580..9f3abee 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -380,7 +380,7 @@ SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
 ##################################################################
 
 OLDEST_KERNEL = "2.6.16"
-STAGING_KERNEL_DIR = "${STAGING_DIR_HOST}/kernel"
+STAGING_KERNEL_DIR = "${STAGING_DIR_HOST}/usr/src/kernel-headers"
 
 ##################################################################
 # Specific image creation and rootfs population info.
-- 
1.7.10.2





More information about the Openembedded-core mailing list