From patchwork Fri Jun 29 04:18:01 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [3/4] kernel: Add kernel-headers package for target module build Date: Fri, 29 Jun 2012 04:18:01 -0000 From: Darren Hart X-Patchwork-Id: 30863 Message-Id: <5b45f71fee3c593e5420a5a9b36ba947c429a397.1340942930.git.dvhart@linux.intel.com> To: Poky , openembedded-core@lists.openembedded.org Cc: Darren Hart [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 CC: Bruce Ashfield CC: Tom Zanussi CC: Khem Raj --- 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.