summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/linux/kernel-devsrc.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-kernel/linux/kernel-devsrc.bb')
-rw-r--r--meta/recipes-kernel/linux/kernel-devsrc.bb14
1 files changed, 11 insertions, 3 deletions
diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb
index dbb3a5c581..a7395c46b9 100644
--- a/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -15,7 +15,7 @@ inherit module-base
15 15
16# We need the kernel to be staged (unpacked, patched and configured) before 16# We need the kernel to be staged (unpacked, patched and configured) before
17# we can grab the source and make the kernel-devsrc package 17# we can grab the source and make the kernel-devsrc package
18do_install[depends] += "virtual/kernel:do_populate_sysroot" 18do_install[depends] += "virtual/kernel:do_shared_workdir"
19# Need the source, not just the output of populate_sysroot 19# Need the source, not just the output of populate_sysroot
20do_install[depends] += "virtual/kernel:do_configure" 20do_install[depends] += "virtual/kernel:do_configure"
21 21
@@ -30,7 +30,8 @@ do_populate_sysroot[noexec] = "1"
30# Define where the kernel headers are installed on the target as well as where 30# Define where the kernel headers are installed on the target as well as where
31# they are staged. 31# they are staged.
32KERNEL_SRC_PATH = "/usr/src/kernel" 32KERNEL_SRC_PATH = "/usr/src/kernel"
33S = "${STAGING_DIR_TARGET}/${KERNEL_SRC_PATH}" 33S = "${STAGING_KERNEL_DIR}"
34B = "${STAGING_KERNEL_BUILDDIR}"
34 35
35KERNEL_VERSION = "${@get_kernelversion_headers('${S}')}" 36KERNEL_VERSION = "${@get_kernelversion_headers('${S}')}"
36 37
@@ -45,8 +46,15 @@ do_install() {
45 # We can keep this copy simple and take everything, since a we'll clean up any build 46 # We can keep this copy simple and take everything, since a we'll clean up any build
46 # artifacts afterwards, and the extra i/o is not significant 47 # artifacts afterwards, and the extra i/o is not significant
47 # 48 #
49 cd ${B}
50 find . -type d -name '.git*' -prune -o -type f -print0 | cpio --null -pdlu $kerneldir
48 cd ${S} 51 cd ${S}
49 find . -type d -name '.git*' -prune -o -type f -print0 | cpio --null -pdlu $kerneldir 52 find . -type d -name '.git*' -prune -o -type f -print0 | cpio --null -pdlu $kerneldir
53
54 # Explicitly set KBUILD_OUTPUT to ensure that the image directory is cleaned and not
55 # The main build artifacts. We clean the directory to avoid QA errors on mismatched
56 # architecture (since scripts and helpers are native format).
57 KBUILD_OUTPUT="$kerneldir"
50 oe_runmake -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean _mrproper_scripts 58 oe_runmake -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean _mrproper_scripts
51 59
52 # As of Linux kernel version 3.0.1, the clean target removes 60 # As of Linux kernel version 3.0.1, the clean target removes
@@ -54,7 +62,7 @@ do_install() {
54 # KBUILD_LDFLAGS_MODULE, making it required to build external modules. 62 # KBUILD_LDFLAGS_MODULE, making it required to build external modules.
55 if [ ${ARCH} = "powerpc" ]; then 63 if [ ${ARCH} = "powerpc" ]; then
56 mkdir -p $kerneldir/arch/powerpc/lib/ 64 mkdir -p $kerneldir/arch/powerpc/lib/
57 cp ${S}/arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o 65 cp ${B}/arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o
58 fi 66 fi
59} 67}
60# Ensure we don't race against "make scripts" during cpio 68# Ensure we don't race against "make scripts" during cpio