[yocto] linux: having problems forcing a kernel recompile...

Bruce Ashfield bruce.ashfield at gmail.com
Sat Jan 10 11:45:13 PST 2015


On Fri, Jan 9, 2015 at 11:32 AM, Bob Cochran <yocto at mindchasers.com> wrote:
> Hi,
>
> I'm working with the latest poky master branch (as of this morning:
> 876370419a), and I can't force a recompile of the kernel:
>
> $ bitbake virtual/kernel -c compile -f
>
> fails with
>
> | make[2]: *** [prepare3] Error 1
>
> I have seen this with both linux-qoriq and my own derived linux-yocto
> recipe.
>
> I believe it's due to my sysroots kernel source directory not being clean.
>
> When I initially bake my kernel, I can see that the do_populate_sysroot task
> is run and it copies a .config into sysroots/<machine>/usr/src/kernel.
>
> When I try to force the recompile, MAKE sees that my source directory isn't
> clean and quits ( throws the prepare3 error ).
>
> Somewhat related, I also notice that neither a
>
> $ bitbake virtual/kernel -c cleansstate
>
> nor a
>
> $ bitbake virtual/kernel -c cleanall
>
> actually cleans my kernel source directory.  Should it?
>
>
> If these are legitimate bugs, I'll be happy to file a bugzilla report.


These are due to some changes that we merged at the end of December to
improve kernel build times. We have bugs open for this issue, and set of
changes nearly ready that addresses this, and a few other pending issues.

Bruce

>
>
> Thanks
>
> Bob
>
>
>
>
>
> Error Log from running "bitbake virtual/kernel -c compile -f":
>
>
> | DEBUG: Executing shell function do_compile
> | NOTE: make -j 4 uImage CC=powerpc64-poky-linux-gcc
> --sysroot=/build/yocto/t1040_1/tmp/sysroots/t1040rdb-64b
> LD=powerpc64-poky-linux-ld.bfd
> --sysroot=/build/yocto/t1040_1/tmp/sysroots/t1040rdb-64b
> |   CHK     include/config/kernel.release
> |   GEN
> /build/yocto/t1040_1/tmp/work/t1040rdb_64b-poky-linux/linux-qoriq/3.12-r0/build/Makefile
> |   CHK     include/generated/uapi/linux/version.h
> |   Using /build/yocto/t1040_1/tmp/sysroots/t1040rdb-64b/usr/src/kernel as
> source for kernel
> |   /build/yocto/t1040_1/tmp/sysroots/t1040rdb-64b/usr/src/kernel is not
> clean, please run 'make mrproper'
> |   in the '/build/yocto/t1040_1/tmp/sysroots/t1040rdb-64b/usr/src/kernel'
> directory.
> |   CHK     include/generated/utsrelease.h
> | make[2]: *** [prepare3] Error 1
> | make[2]: *** Waiting for unfinished jobs....
> |   CC      scripts/mod/empty.o
> |   CC      scripts/mod/devicetable-offsets.s
> |   MKELF   scripts/mod/elfconfig.h
> |   HOSTCC  scripts/mod/modpost.o
> |   HOSTCC  scripts/mod/sumversion.o
> |   GEN     scripts/mod/devicetable-offsets.h
> |   HOSTCC  scripts/mod/file2alias.o
> |   HOSTLD  scripts/mod/modpost
> | make[1]: *** [sub-make] Error 2
> | make: *** [all] Error 2
> | ERROR: oe_runmake failed
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"



More information about the yocto mailing list