| Message ID | 20260106143712.843971-3-joaomarcos.costa@bootlin.com |
|---|---|
| State | Changes Requested |
| Headers | show |
| Series | Move RISC-V recipe-specific configuration out of common includes | expand |
On Tue, Jan 6, 2026 at 9:37 AM Joao Marcos Costa via lists.openembedded.org <joaomarcos.costa=bootlin.com@lists.openembedded.org> wrote: > > 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 - out of the common > definitions. We shouldn't do this either. It dooms us to carry it along with each versioned linux-yocto recipe, which we don't want. Maybe a new .inc that all the linux-yocto recipe's inherit could work, since it is then something smaller to carry along. Bruce > > Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com> > --- > meta/recipes-kernel/linux/linux-yocto.inc | 16 ---------------- > meta/recipes-kernel/linux/linux-yocto_6.12.bb | 16 ++++++++++++++++ > 2 files changed, 16 insertions(+), 16 deletions(-) > > diff --git a/meta/recipes-kernel/linux/linux-yocto.inc b/meta/recipes-kernel/linux/linux-yocto.inc > index 4d0a726bb6..389329030d 100644 > --- a/meta/recipes-kernel/linux/linux-yocto.inc > +++ b/meta/recipes-kernel/linux/linux-yocto.inc > @@ -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 > diff --git a/meta/recipes-kernel/linux/linux-yocto_6.12.bb b/meta/recipes-kernel/linux/linux-yocto_6.12.bb > index 84419f8c78..22fa4ba5e0 100644 > --- a/meta/recipes-kernel/linux/linux-yocto_6.12.bb > +++ b/meta/recipes-kernel/linux/linux-yocto_6.12.bb > @@ -76,4 +76,20 @@ KERNEL_FEATURES:append:powerpc64le = " arch/powerpc/powerpc-debug.scc" > # ERROR: modpost: __ex_table+0x17a4 references non-executable section '.debug_loclists' > # Check again during next major version upgrade > KERNEL_FEATURES:remove:riscv32 = "features/debug/debug-kernel.scc" > +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}" > + > INSANE_SKIP:kernel-vmlinux:qemuppc64 = "textrel" > -- > 2.47.0 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#228891): https://lists.openembedded.org/g/openembedded-core/message/228891 > Mute This Topic: https://lists.openembedded.org/mt/117105622/1050810 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [bruce.ashfield@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
On Tue, Jan 6, 2026 at 7:28 AM Bruce Ashfield via lists.openembedded.org <bruce.ashfield=gmail.com@lists.openembedded.org> wrote: > On Tue, Jan 6, 2026 at 9:37 AM Joao Marcos Costa via > lists.openembedded.org > <joaomarcos.costa=bootlin.com@lists.openembedded.org> wrote: > > > > 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 - out of the common > > definitions. > > We shouldn't do this either. > > It dooms us to carry it along with each versioned linux-yocto recipe, > which we don't > want. > > Maybe a new .inc that all the linux-yocto recipe's inherit could work, > since it is > then something smaller to carry along. Yeah we need this regardless how we fix it. I agree a separate inc file might be more contained to maintain in long run > > Bruce > > > > > Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com> > > --- > > meta/recipes-kernel/linux/linux-yocto.inc | 16 ---------------- > > meta/recipes-kernel/linux/linux-yocto_6.12.bb | 16 ++++++++++++++++ > > 2 files changed, 16 insertions(+), 16 deletions(-) > > > > diff --git a/meta/recipes-kernel/linux/linux-yocto.inc > b/meta/recipes-kernel/linux/linux-yocto.inc > > index 4d0a726bb6..389329030d 100644 > > --- a/meta/recipes-kernel/linux/linux-yocto.inc > > +++ b/meta/recipes-kernel/linux/linux-yocto.inc > > @@ -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 > > diff --git a/meta/recipes-kernel/linux/linux-yocto_6.12.bb > b/meta/recipes-kernel/linux/linux-yocto_6.12.bb > > index 84419f8c78..22fa4ba5e0 100644 > > --- a/meta/recipes-kernel/linux/linux-yocto_6.12.bb > > +++ b/meta/recipes-kernel/linux/linux-yocto_6.12.bb > > @@ -76,4 +76,20 @@ KERNEL_FEATURES:append:powerpc64le = " > arch/powerpc/powerpc-debug.scc" > > # ERROR: modpost: __ex_table+0x17a4 references non-executable section > '.debug_loclists' > > # Check again during next major version upgrade > > KERNEL_FEATURES:remove:riscv32 = "features/debug/debug-kernel.scc" > > +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}" > > + > > INSANE_SKIP:kernel-vmlinux:qemuppc64 = "textrel" > > -- > > 2.47.0 > > > > > > > > > > > -- > - Thou shalt not follow the NULL pointer, for chaos and madness await > thee at its end > - "Use the force Harry" - Gandalf, Star Trek II > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#228902): > https://lists.openembedded.org/g/openembedded-core/message/228902 > Mute This Topic: https://lists.openembedded.org/mt/117105622/1997914 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [ > raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > >
diff --git a/meta/recipes-kernel/linux/linux-yocto.inc b/meta/recipes-kernel/linux/linux-yocto.inc index 4d0a726bb6..389329030d 100644 --- a/meta/recipes-kernel/linux/linux-yocto.inc +++ b/meta/recipes-kernel/linux/linux-yocto.inc @@ -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 diff --git a/meta/recipes-kernel/linux/linux-yocto_6.12.bb b/meta/recipes-kernel/linux/linux-yocto_6.12.bb index 84419f8c78..22fa4ba5e0 100644 --- a/meta/recipes-kernel/linux/linux-yocto_6.12.bb +++ b/meta/recipes-kernel/linux/linux-yocto_6.12.bb @@ -76,4 +76,20 @@ KERNEL_FEATURES:append:powerpc64le = " arch/powerpc/powerpc-debug.scc" # ERROR: modpost: __ex_table+0x17a4 references non-executable section '.debug_loclists' # Check again during next major version upgrade KERNEL_FEATURES:remove:riscv32 = "features/debug/debug-kernel.scc" +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}" + INSANE_SKIP:kernel-vmlinux:qemuppc64 = "textrel"
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 - out of the common definitions. Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com> --- meta/recipes-kernel/linux/linux-yocto.inc | 16 ---------------- meta/recipes-kernel/linux/linux-yocto_6.12.bb | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 16 deletions(-)