On Tue, Jul 10, 2012 at 10:07:50AM -0700, Khem Raj wrote:
> 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

Does this solve also this issue?
http://lists.linuxtogo.org/pipermail/openembedded-devel/2012-July/040584.html

Cheers,

> Signed-off-by: Khem Raj <raj.k...@gmail.com>
> ---
>  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
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

-- 
Martin 'JaMa' Jansa     jabber: martin.ja...@gmail.com

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to