[yocto] how to set particular changes to a default kernel config

Bruce Ashfield bruce.ashfield at windriver.com
Wed Jul 24 06:16:05 PDT 2013


On 13-07-24 09:05 AM, lothar at denx.de wrote:
> Dear Yocto Team,
>
> For an ARM based board (MACHINE = "myboard"), I use a default kernel
> config from arch/arm/configs and want now to change some particular
> CONFIG_ options.
>
> Trying to follow the documentation, I currently have the following files:
> .
> +- linux-acme
> |   |
> |   +- additional.cfg
> |
> +- linux-acme_3.8.bb
>
>
>
> ...in linux-acme_3.8.bb I have
> (...)
> S = "${WORKDIR}/git"
> (...)
> KERNEL_DEFCONFIG_myboard = "blabla_defconfig"
> do_configure_prepend_myboard() {
>       install -m 0644 ${S}/arch/${ARCH}/configs/${KERNEL_DEFCONFIG} \
>             ${WORKDIR}/defconfig || die "no default config"
> }
> SRC_URI_myboard = "git://kernel.ubuntu.com/ubuntu/linux.git;protocol=git \
>             file://additional.cfg"
> (...)
>
>
> ...and in additional.cfg I have
> CONFIG_DEVTMPFS_MOUNT=y
> CONFIG_MTD_CMDLINE_PARTS=y
> CONFIG_MTD_BLOCK=y
> CONFIG_MTD_M25P80=y
>
>
> When I run something like...
> $ bitbake -b /yocto/meta-myboard/recipes-kernel/linux/linux-acme_3.8.bb -f
> ...it seems to find the .cfg file, since it stoped complaining (after I
> fixed some paths) and now compiles/builds smoothely.
>
> Anyway, I can't see the changes in the .config in
> $BDIR/tmp/work/myboard-linux-gnueabi/linux-acme/3.8+..../git/.config
>
> I imagine something like mixing both configs and running "make
> oldconfig" in behind. Anyway before compilation, the changes should be
> in the .config, right?
>
> Questions:
> 1) How can I add single additional options to a default kernel config?

Just like you have above, but does your recipe inherit linux-yocto ?
You of course also need to have the dependencies of the options
you are trying to add, otherwise, they won't make the final .config.

> 2) What is the best way to check if the options were applied?

There's an audit phase that runs after configuration has completed, but
if you are using a different tree than the linux-yocto tree, it will
do it's best to tell you what is missing, but needs to sift through
a lot of data.

A faster way for small changes is likely just what you are doing,
checking the .config in the build dir.

> 3) Do I need another approach, e.g. through a patch, using echo, or
> using a .scc file (I tried, but with the same result)?

Those will work as well, but the system will detect lonely .cfg files
and apply them to the tree after the default configuration.

Cheers,

Bruce

>
> Best Regards,
> Lothar Rubusch
>
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto




More information about the yocto mailing list