]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
linux-yocto: relocate KERNEL_FEATURES_RISCV master-next
authorJoão Marcos Costa <joaomarcos.costa@bootlin.com>
Wed, 7 Jan 2026 15:14:36 +0000 (16:14 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 22 Jan 2026 16:50:56 +0000 (16:50 +0000)
In a custom linux recipe that requires linux-yocto.inc, the metadata
files (*.scc) end up in KERNEL_FEATURES. However, the custom recipe's
FILESPATH does not contain the path to oe-core's linux-yocto directory
(as expected), which leads to the error below:

ERROR: linux-custom-6.12.15+git-r0 do_kernel_metadata:
Feature 'arch/riscv/tunes/riscv-isa-clear.scc' not found, this will cause configuration failures.
ERROR: linux-custom-6.12.15+git-r0 do_kernel_metadata:
Check the SRC_URI for meta-data repositories or directories that may be missing

Move KERNEL_FEATURES_RISCV - along with the appends - to a new file:
linux-yocto-features.inc.

Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
12 files changed:
meta/recipes-kernel/linux/linux-yocto-dev.bb
meta/recipes-kernel/linux/linux-yocto-features.inc [new file with mode: 0644]
meta/recipes-kernel/linux/linux-yocto-rt_6.12.bb
meta/recipes-kernel/linux/linux-yocto-rt_6.16.bb
meta/recipes-kernel/linux/linux-yocto-rt_6.18.bb
meta/recipes-kernel/linux/linux-yocto-tiny_6.12.bb
meta/recipes-kernel/linux/linux-yocto-tiny_6.16.bb
meta/recipes-kernel/linux/linux-yocto-tiny_6.18.bb
meta/recipes-kernel/linux/linux-yocto.inc
meta/recipes-kernel/linux/linux-yocto_6.12.bb
meta/recipes-kernel/linux/linux-yocto_6.16.bb
meta/recipes-kernel/linux/linux-yocto_6.18.bb

index fb4e0864d2a1b3f1df3a20cce5bd94272317c168..a2e5b8308b45ad7423b92033b44dc30112691b7a 100644 (file)
@@ -10,6 +10,7 @@
 
 inherit kernel
 require recipes-kernel/linux/linux-yocto.inc
+require recipes-kernel/linux/linux-yocto-features.inc
 
 # provide this .inc to set specific revisions
 include recipes-kernel/linux/linux-yocto-dev-revisions.inc
diff --git a/meta/recipes-kernel/linux/linux-yocto-features.inc b/meta/recipes-kernel/linux/linux-yocto-features.inc
new file mode 100644 (file)
index 0000000..300add6
--- /dev/null
@@ -0,0 +1,15 @@
+KERNEL_FEATURES_RISCV = "\
+    arch/riscv/tunes/riscv-isa-clear.scc \
+    ${@bb.utils.contains(    'TUNE_FEATURES', 'rv 32 i m a', 'arch/riscv/tunes/riscv-isa-rv32i.scc',  '', d)} \
+    ${@bb.utils.contains(    'TUNE_FEATURES', 'rv 64 i m a', 'arch/riscv/tunes/riscv-isa-rv64i.scc',  '', d)} \
+    ${@bb.utils.contains(    'TUNE_FEATURES', 'f d',         'arch/riscv/tunes/riscv-isa-fpu.scc',    '', d)} \
+    ${@bb.utils.contains(    'TUNE_FEATURES', 'c',           'arch/riscv/tunes/riscv-isa-c.scc',      '', d)} \
+    ${@bb.utils.contains(    'TUNE_FEATURES', 'v',           'arch/riscv/tunes/riscv-isa-v.scc',      '', d)} \
+    ${@bb.utils.contains_any('TUNE_FEATURES', 'b zba',       'arch/riscv/tunes/riscv-isa-zba.scc',    '', d)} \
+    ${@bb.utils.contains_any('TUNE_FEATURES', 'b zbb',       'arch/riscv/tunes/riscv-isa-zbb.scc',    '', d)} \
+    ${@bb.utils.contains(    'TUNE_FEATURES', 'zbc',         'arch/riscv/tunes/riscv-isa-zbc.scc',    '', d)} \
+    ${@bb.utils.contains(    'TUNE_FEATURES', 'zicbom',      'arch/riscv/tunes/riscv-isa-zicbom.scc', '', d)} \
+    "
+
+KERNEL_FEATURES:append:riscv32 = " ${KERNEL_FEATURES_RISCV}"
+KERNEL_FEATURES:append:riscv64 = " ${KERNEL_FEATURES_RISCV}"
index 4113aaa21ebd030dd23b00289771e4c0a04639ff..64456fea051b89e9f5d8a6477af43ea1a6978c1f 100644 (file)
@@ -1,6 +1,7 @@
 KBRANCH ?= "v6.12/standard/preempt-rt/base"
 
 require recipes-kernel/linux/linux-yocto.inc
+require recipes-kernel/linux/linux-yocto-features.inc
 
 # CVE exclusions
 include recipes-kernel/linux/cve-exclusion_6.12.inc
index 1230e4e805ba940d4041b110b4e2414bd6642cca..79ea0c5492e9c80c4e73878d6eaadc604c19d2bd 100644 (file)
@@ -1,6 +1,7 @@
 KBRANCH ?= "v6.16/standard/preempt-rt/base"
 
 require recipes-kernel/linux/linux-yocto.inc
+require recipes-kernel/linux/linux-yocto-features.inc
 
 # CVE exclusions
 include recipes-kernel/linux/cve-exclusion_6.16.inc
index 76eb891a04d6eaa9e028178348159f73833394fd..a39982c08891e08e830a8ead8d9871b816204ebe 100644 (file)
@@ -1,6 +1,7 @@
 KBRANCH ?= "v6.18/standard/preempt-rt/base"
 
 require recipes-kernel/linux/linux-yocto.inc
+require recipes-kernel/linux/linux-yocto-features.inc
 
 # CVE exclusions
 include recipes-kernel/linux/cve-exclusion_6.18.inc
index 5a536f0d5af95d80bd7a8f8f5edb02a2763420f8..970520d95ee5101031eb01c08234eff7acad0900 100644 (file)
@@ -4,6 +4,7 @@ LINUX_KERNEL_TYPE = "tiny"
 KCONFIG_MODE = "--allnoconfig"
 
 require recipes-kernel/linux/linux-yocto.inc
+require recipes-kernel/linux/linux-yocto-features.inc
 
 # CVE exclusions
 include recipes-kernel/linux/cve-exclusion_6.12.inc
index ffa15b0c1b4ad2e7a21623608cab3372266e4822..4ab250bf702f453d44ea3b3443cfb4067391ac37 100644 (file)
@@ -4,6 +4,7 @@ LINUX_KERNEL_TYPE = "tiny"
 KCONFIG_MODE = "--allnoconfig"
 
 require recipes-kernel/linux/linux-yocto.inc
+require recipes-kernel/linux/linux-yocto-features.inc
 
 # CVE exclusions
 include recipes-kernel/linux/cve-exclusion_6.16.inc
index 6904ce5f56753c2b4f1a3c1588b81210480f85e2..ec09327a90317bfd73d38497614f892f81fff6c3 100644 (file)
@@ -4,6 +4,7 @@ LINUX_KERNEL_TYPE = "tiny"
 KCONFIG_MODE = "--allnoconfig"
 
 require recipes-kernel/linux/linux-yocto.inc
+require recipes-kernel/linux/linux-yocto-features.inc
 
 # CVE exclusions
 include recipes-kernel/linux/cve-exclusion_6.18.inc
index 4d0a726bb65efd9c35a922621b2d4d94aab8fe0b..389329030d4863f51b833b613d9a0aeb352d3f4c 100644 (file)
@@ -37,22 +37,6 @@ KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'efi', 'cfg/
 KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'numa', 'features/numa/numa.scc', '', d)}"
 KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'vfat', 'cfg/fs/vfat.scc', '', d)}"
 
-KERNEL_FEATURES_RISCV = "\
-    arch/riscv/tunes/riscv-isa-clear.scc \
-    ${@bb.utils.contains(    'TUNE_FEATURES', 'rv 32 i m a', 'arch/riscv/tunes/riscv-isa-rv32i.scc',  '', d)} \
-    ${@bb.utils.contains(    'TUNE_FEATURES', 'rv 64 i m a', 'arch/riscv/tunes/riscv-isa-rv64i.scc',  '', d)} \
-    ${@bb.utils.contains(    'TUNE_FEATURES', 'f d',         'arch/riscv/tunes/riscv-isa-fpu.scc',    '', d)} \
-    ${@bb.utils.contains(    'TUNE_FEATURES', 'c',           'arch/riscv/tunes/riscv-isa-c.scc',      '', d)} \
-    ${@bb.utils.contains(    'TUNE_FEATURES', 'v',           'arch/riscv/tunes/riscv-isa-v.scc',      '', d)} \
-    ${@bb.utils.contains_any('TUNE_FEATURES', 'b zba',       'arch/riscv/tunes/riscv-isa-zba.scc',    '', d)} \
-    ${@bb.utils.contains_any('TUNE_FEATURES', 'b zbb',       'arch/riscv/tunes/riscv-isa-zbb.scc',    '', d)} \
-    ${@bb.utils.contains(    'TUNE_FEATURES', 'zbc',         'arch/riscv/tunes/riscv-isa-zbc.scc',    '', d)} \
-    ${@bb.utils.contains(    'TUNE_FEATURES', 'zicbom',      'arch/riscv/tunes/riscv-isa-zicbom.scc', '', d)} \
-    "
-
-KERNEL_FEATURES:append:riscv32 = " ${KERNEL_FEATURES_RISCV}"
-KERNEL_FEATURES:append:riscv64 = " ${KERNEL_FEATURES_RISCV}"
-
 # A KMACHINE is the mapping of a yocto $MACHINE to what is built
 # by the kernel. This is typically the branch that should be built,
 # and it can be specific to the machine or shared
index a5184e5812fe78be978ec8489b8c77509c1a6a2c..e3496b422769d714646089189999c26ebd98a1fa 100644 (file)
@@ -1,6 +1,7 @@
 KBRANCH ?= "v6.12/standard/base"
 
 require recipes-kernel/linux/linux-yocto.inc
+require recipes-kernel/linux/linux-yocto-features.inc
 
 # CVE exclusions
 include recipes-kernel/linux/cve-exclusion.inc
index 408f14b451799317537335942b10b2aacc6df4ae..b823e13e8a022209f8fe7885c7b16a7aeadba0f4 100644 (file)
@@ -1,6 +1,7 @@
 KBRANCH ?= "v6.16/standard/base"
 
 require recipes-kernel/linux/linux-yocto.inc
+require recipes-kernel/linux/linux-yocto-features.inc
 
 # CVE exclusions
 include recipes-kernel/linux/cve-exclusion.inc
index 599a3d13b8dd1bacfaf597742730e753cc3dd55e..6b14738a10d57403a87048f41562d4594c109be1 100644 (file)
@@ -1,6 +1,7 @@
 KBRANCH ?= "v6.18/standard/base"
 
 require recipes-kernel/linux/linux-yocto.inc
+require recipes-kernel/linux/linux-yocto-features.inc
 
 # CVE exclusions
 include recipes-kernel/linux/cve-exclusion.inc