We shave too much from kernel sources for making it work for on device external kernel module development that cross development of external modules wont work from same tree anymore. This patch makes a copy of tree which will eventually be staged for building external modules
Signed-off-by: Khem Raj <[email protected]> --- meta/classes/kernel.bbclass | 15 +++++++++++++-- 1 files changed, 13 insertions(+), 2 deletions(-) diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 81c334b..b2b6fcd 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -80,6 +80,7 @@ KERNEL_ALT_IMAGETYPE ??= "" # Define where the kernel headers are installed on the target as well as where # they are staged. KERNEL_SRC_PATH = "/usr/src/kernel" +UNPRUNED_KERNEL_SRC_PATH = "/usr/src/kernel-unpruned" KERNEL_IMAGETYPE_FOR_MAKE = "${@(lambda s: s[:-3] if s[-3:] == ".gz" else s)(d.getVar('KERNEL_IMAGETYPE', True))}" @@ -135,7 +136,9 @@ kernel_do_install() { # kernel source tree. # kerneldir=${D}${KERNEL_SRC_PATH} + unrprunedkerneldir=${D}${UNPRUNED_KERNEL_SRC_PATH} install -d $kerneldir + install -d $unrprunedkerneldir # # Store the kernel version in sysroots for module-base.bbclass @@ -176,7 +179,6 @@ kernel_do_install() { # and include files. # oe_runmake -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean - make -C $kerneldir _mrproper_scripts find $kerneldir -path $kerneldir/lib -prune -o -path $kerneldir/tools -prune -o -path $kerneldir/scripts -prune -o -name "*.[csS]" -exec rm '{}' \; find $kerneldir/Documentation -name "*.txt" -exec rm '{}' \; @@ -186,6 +188,9 @@ kernel_do_install() { if [ ${ARCH} = "powerpc" ]; then cp arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o fi + # make a copy of unpruned kernel tree + cp -fR $kerneldir/* $unrprunedkerneldir + make -C $kerneldir _mrproper_scripts # Remove the following binaries which cause strip or arch QA errors # during do_package for cross-compiled platforms @@ -197,8 +202,14 @@ kernel_do_install() { done } +PACKAGE_PREPROCESS_FUNCS += "kernel_package_preprocess" + +kernel_package_preprocess () { + rm -rf ${PKGD}/${UNPRUNED_KERNEL_SRC_PATH} +} + sysroot_stage_all_append() { - sysroot_stage_dir ${D}${KERNEL_SRC_PATH} ${SYSROOT_DESTDIR}${KERNEL_SRC_PATH} + sysroot_stage_dir ${D}${UNPRUNED_KERNEL_SRC_PATH} ${SYSROOT_DESTDIR}${KERNEL_SRC_PATH} } kernel_do_configure() { -- 1.7.5.4 _______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
