[OE-core] [RFC] don't run make clean on kernel_do_install

Darren Hart dvhart at linux.intel.com
Mon Apr 25 17:10:47 UTC 2011


Hi Koen,

On 04/23/2011 07:47 AM, Koen Kooi wrote:
> Hi,
> 
> Over the holidays I was trying to build some externel kernel modules
> and they failed to build because linux/bounds.h wasn't in sysroots.
> 


According the the linux Makefile:

###
# Cleaning is done on three levels.
# make clean     Delete most generated files
#                Leave enough to build external modules

The kernel Makefile should not be deleting it.

And indeed:
https://bugzilla.kernel.org/show_bug.cgi?id=11475

This was addressed by the following in 2.6.27:
7d3cc8b6d899e53222c22a78d98bb53a695f7962
Don't clean bounds.h and asm-offsets.h

Later, bounds.h moved as well in 2.6.33:
01fc0ac198eabcbf460e1ed058860a935b6c2c9a
kbuild: move bounds.h to include/generated


Which kernel version are you attempting to build?

We shouldn't add code to address a bug in a specific kernel version in a
kernel base class. That belongs in the specific recipe. I suggest trying
to add the 7d3cc8b6d899e53222c22a78d98bb53a695f7962 patch to your kernel
recipe and see if that resolves the issue for you without resorting to
recreating the clean process in the base class.

--
Darren

> I did this quick hack to work around it:
>
> --- a/meta-oe/classes/kernel.bbclass
> +++ b/meta-oe/classes/kernel.bbclass
> @@ -159,7 +159,8 @@ kernel_do_install() {
>         # we clean the scripts dir while leaving the generated config
>         # and include files.
>         #
> -       oe_runmake -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean
> +       find $kerneldir -name "*.o" -delete
> +       #oe_runmake -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}"
clean
>         make -C $kerneldir _mrproper_scripts
>         find $kerneldir -path $kerneldir/scripts -prune -o -name
"*.[csS]" -exec rm '{}' \;
>         find $kerneldir/Documentation -name "*.txt" -exec rm '{}' \;
> 
> I'm not convinced that the above is the right way to solve it, but I
> lack the required kbuild knowledge to come up with a better one. Does
> anyone have a hint on how to approach this problem in a better way?
> 
> regards,
> 
> Koen

-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel




More information about the Openembedded-core mailing list