[OE-core] kernel-yocto.bbclass : commas missing to use custom defconfig

Mylene Josserand Mylene.Josserand at navocap.com
Thu Apr 24 09:55:53 UTC 2014


Hi everyone,


I am new to Open Embedded / Yocto and I am currently configure it to generate custom kernel Linux and rootfs.
For configuration information, I am using the Angstrom distribution and I am on Dora branch. 

Here my OE configs :


Build Configuration:
BB_VERSION        = "1.20.0"
BUILD_SYS         = "i686-linux"
NATIVELSBSTRING   = "Debian-7.4"
TARGET_SYS        = "arm-angstrom-linux-gnueabi"
MACHINE           = "navocap-thelma7"
DISTRO            = "angstrom"
DISTRO_VERSION    = "v2013.12"
TUNE_FEATURES     = "armv5 thumb dsp"
TARGET_FPU        = "soft"
meta-angstrom     = "angstrom-v2013.12-yocto1.5:dab3707b49b38112a9768a4c11b6d19266d9dadb"
meta-oe           
toolchain-layer   
meta-networking   = "angstrom-staging-yocto1.5:4cc4b35f8ce68b38ebb5b847648e2176a92cf6fc"
meta-java         = "dora:07f90e1615457edcadd2d9412048695823290f80"
meta-qt5          = "dora:d7ebb534535a22981dac2af34f4cd9c9b37f0296"
meta-systemd      = "angstrom-staging-yocto1.5:4cc4b35f8ce68b38ebb5b847648e2176a92cf6fc"
meta-linaro       
meta-linaro-toolchain = "dora:ec262e6952804a417ab7112c807a6af1dc6a2f8b"
meta-navocap      = "master:2335db58cc49df0ff5e66c4e0fc152b7c7e3f832"
meta              = "angstrom-staging-yocto1.5:a4a399613625908ace8698d7eeba4224cd122cb8"


I had some problems with the kernel recipe that - I think - I have resolved.
I use a "custom" kernel source so I created a new kernel recipe (inherited kernel and required recipes-kernel/linux/linux-yocto.inc) and configured it to use my patches and my defconfig. 
The patches were applied but not the defconfig file. I know that the best way (according to Yocto Kernel Manual) is to use fragments but as I already have a defconfig for my kernel, I did not want to spend time to split my defconfig into fragments.

I have found this post : https://lists.yoctoproject.org/pipermail/yocto/2013-October/016584.html but it did not solve my problem. I have always another .config in my build kernel directory even if in the ${WORKDIR} it was my own defconfig.

With some investigations, I found where is my problem.
In fact, the problem was during the "configme" task where the "merge-config.sh" failed. The merge-log.txt says :

make[2]: *** No rule to make target `alldefconfig'.  Stop.
make[1]: *** [alldefconfig] Error 2
make: *** [sub-make] Error 2


So, I searched and the configuration of "configme" and so "merge-config.sh" was passed via the "kernel-yocto.bbclass". The commit git.openembedded.org/openembedded-core/commit/?h=dora&id=644f2e525b910b9ff8d9aaa33f11eba3fefa7c85 permits to use the "allnoconfig" in case of defconfig files but, for me, it was never used because it used the "KCONFIG_MODE". I looked to KCONFIG_MODE and it was empty so it should go to the "else" statement and use the "allnoconfig". 
And that how I found that some commas is missing in the line :


if [ -n ${KCONFIG_MODE} ]; then


I added it :


if [ -n "${KCONFIG_MODE}" ]; then


And now, I have the "allnoconfig" option and I have my own .config in the build kernel directory.

I looked to other branch (master), and I still see the commas missing so I though that, maybe, nobody noticed this. So here I am ! 
I don't know if it must be patched or something else (I am new so I don't know how it works), but I wanted to share it.


If you need more information, do not hesitate.
Thank you in advance.


Best regards,


Mylene JOSSERAND



More information about the Openembedded-core mailing list