]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
kernel-yocto: Support in-tree config fragments
authorPaul Barker <paul@pbarker.dev>
Thu, 7 Nov 2024 02:29:06 +0000 (21:29 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 7 Nov 2024 13:31:23 +0000 (13:31 +0000)
[This is currently an RFC as it depends on a separate patch to add
  support for config fragments with .config file extensions in
  yocto-kernel-tools:
  https://lists.yoctoproject.org/g/linux-yocto/message/14431]

In Linux 6.8, the in-tree rv32_defconfig file for 32-bit RISC-V support
was dropped in favour of a Makefile target which combines the RISC-V
defconfig with a config fragment '32-bit.config'. So to build for 32-bit
RISC-V using the in-tree configuration from an upstream kernel, we need
to be able to enable this 32-bit config fragment.

We can support this via KERNEL_FEATURES if we add the in-tree arch
config directory (arch/${ARCH}/configs) to the search path.

While we're here, let's also add the generic config directory
(kernel/configs) to the search path so in-tree config fragments such as
'hardening.config' can be used.

Signed-off-by: Paul Barker <paul@pbarker.dev>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes-recipe/kernel-yocto.bbclass

index 6d5c3b6327b61b9bb6678dae2dbf059dbde178f6..66602d3594046e484e09c44c42ede6803e4002d9 100644 (file)
@@ -248,6 +248,9 @@ do_kernel_metadata() {
                 fi
        done
 
+       # allow in-tree config fragments to be used in KERNEL_FEATURES
+       includes="$includes -I${S}/arch/${ARCH}/configs -I${S}/kernel/configs"
+
        # expand kernel features into their full path equivalents
        bsp_definition=$(spp ${includes} --find -DKMACHINE=${KMACHINE} -DKTYPE=${LINUX_KERNEL_TYPE})
        if [ -z "$bsp_definition" ]; then