On 2016-07-26 02:32 AM, Mircea Gliga wrote:
Hello

I have my own layer and I am trying to configure the kernel using
partial configs.
I'm trying to enable netfilter support into the kernel - not as modules,
so I set the CONFIG.... to "y"
I've created a bbappend file in my layer, here:
recipes-kernel/linux/linux-yocto_3.14.bbappend

Which branch is this ? 3.14 spanned a few releases, so I can't
tell from the kernel version alone.

The content of this file is:
---
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://ipv6enable.cfg file://netfilter_minimal.cfg"

SRCREV_machine = "${SRCREV}"
---

In the ipv6enable.cfg file I also enable the ipv6.

recipes-kernel/linux/linux-yocto/netfilter_minimal.cfg:
CONFIG_NF_CONNTRACK=y
CONFIG_NF_NAT=y
CONFIG_NETFILTER_XTABLES=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_NF_DEFRAG_IPV6=y
CONFIG_NF_CONNTRACK_IPV6=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_NF_NAT_IPV6=y

recipes-kernel/linux/linux-yocto/ipv6enable.cfg:
CONFIG_IPV6=y
CONFIG_INET6_TUNNEL=y
CONFIG_IPV6_TUNNEL=y
CONFIG_IPV6_ROUTER_PREF=y

Now I'm configuring the kernel, cleaning first:
* bitbake -c cleansstate linux-yocto
* bitbake linux-yocto -c configure

When inspecting the .config file from
tmp/work/qemuarm-poky-linux-gnueabi/linux-yocto/3.14.36+gitAUTOINC+060fa80b79_4817747912-r0/linux-qemuarm-standard-build:

most of the kernel options related to netfilter are set to "m", it's
like my options from my layer are ignored.

They wouldn't be ignored, but if they are not the last configs, a
dependency or select statement is in play, the option could be changed.

In particular, check "bitbake -e" and the linux-yocto kernel recipe
for KERNEL_FEATURES .. we have them for netfilter options in particular.

KERNEL_FEATURES are applied last (something that has been tweaked in
master, but would be the case in an older release).

They are applied last, since they are a hard error if they aren't set
.. which means that something on the SRC_URI can't simply override
them, it has to be another KERNEL_FEATURE.

There is a way to create a KERNEL_FEATURE in your bbappend, but in the
case of the netfilter options, they are enabled via the
KERNEL_EXTRA_FEATURES variable, so you can override and clear that
variable to avoid the kernel feature coming in and changing what you
are trying to set.

Bruce


But the options from the ipv6enable.cfg file are set correctly (even if
set to "n" or "y" changes are reflected in the output file .config)

I've created the netfilter_minimal.cfg file in this way:
* configure a kernel without any of my changes
* made a backup of .config
* run bitbake linux-yocto -c menuconfig and set the options from there
* save the results to a different file
* resulting file compared with the original file: changes saved in
netfilter_minimal.cfg


Thanks in advance
M.



--
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to