modifying kernel config in Yocto

Michal Koziel picture Michal Koziel · Jun 24, 2015 · Viewed 19.1k times · Source

I have tried for a long time to modify the kernel config without luck. :-(

There is a BSP in meta-xxx-yyy/ with recipes-kernel/linux/linux_git.bb. I try to override the kernel config in my layer named meta-xxx-mylayer where I have recipes-kernel/linux/linux_git.bbappend and recipes-kernel/linux/files/frag.cfg

frag.cfg:

# CONFIG_NETFILTER is not set
CONFIG_AUTOFS4_FS=y 

linux_git.bbappend:

COMPATIBLE_MACHINE_my_mach = "my_mach"
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SRC_URI += "file://frag.cfg"

linux_git.bb: (just a part of the file)

KERNEL_RELEASE = "3.10"
PV = "3.10"
PR = "r10"
S = "${WORKDIR}/git"
COMPATIBLE_MACHINE = "(my_mach)"

meta-xxx-yyy/conf/machine/my_mach.conf: (there is no meta-xxx-mylayer/conf/machine/my_mach.conf)

PREFERRED_PROVIDER_virtual/kernel = "linux"
UBOOT_MACHINE = "socfpga_cyclone5_config"
KERNEL_MACHINE = "socfpga"

Build commands:

bitbake linux -c cleansstate -f
bitbake linux -c configure -f
bitbake linux -c compile -f
bitbake linux -c deploy -f

Everything builds, but when I inspect /proc/config.gz I can see that CONFIG_AUTOFS4_FS is not enabled.

I have another recipe in the meta-xxx-mylayer layer which builds and installs into rootfs just fine so I know that the layer is enabled.

The frag.cfg file is copied to ./tmp/work/my_mach-poky-linux-gnueabi/linux/3.10-r10/ during build, while the rest of the files are in ./tmp/work/my_mach-poky-linux-gnueabi/linux/3.10-r10/git/. Is that a problem?

What am I doing wrong???

Answer

Alexandre Belloni picture Alexandre Belloni · Jun 25, 2015

It is difficult to answer without seeing the real kernel recipe but what is probably happening is that the kernel recipe for the socfpga only inhertis kernel and not linux-yocto. If that is the case, then you can't change the configuration using fragments, you have to provide a full defconfig.