diff mbox series

[1/2] linux-yocto: introduce 6.17 reference kernels

Message ID 65b6f4cb57e6738e48560539cf2c0485e0469b65.1761360245.git.bruce.ashfield@gmail.com
State Accepted, archived
Commit fcf5527f45b97f8699d0d6567df89461b8bb01ef
Headers show
Series [1/2] linux-yocto: introduce 6.17 reference kernels | expand

Commit Message

Bruce Ashfield Oct. 25, 2025, 2:48 a.m. UTC
From: Bruce Ashfield <bruce.ashfield@gmail.com>

The 6.17 kernel went through quite a bit of testing via
linux-yocto-dev, so it is a relatively well understood release.

These recipes introduce it as a fully tested reference with the
potential to replace the EOL 6.16 refs.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
---
 .../linux/linux-yocto-rt_6.17.bb              | 48 +++++++++++
 .../linux/linux-yocto-tiny_6.17.bb            | 33 ++++++++
 meta/recipes-kernel/linux/linux-yocto_6.17.bb | 79 +++++++++++++++++++
 3 files changed, 160 insertions(+)
 create mode 100644 meta/recipes-kernel/linux/linux-yocto-rt_6.17.bb
 create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny_6.17.bb
 create mode 100644 meta/recipes-kernel/linux/linux-yocto_6.17.bb

Comments

Mathieu Dubois-Briand Oct. 27, 2025, 9:28 a.m. UTC | #1
On Sat Oct 25, 2025 at 4:48 AM CEST, Bruce Ashfield via lists.openembedded.org wrote:
> From: Bruce Ashfield <bruce.ashfield@gmail.com>
>
> The 6.17 kernel went through quite a bit of testing via
> linux-yocto-dev, so it is a relatively well understood release.
>
> These recipes introduce it as a fully tested reference with the
> potential to replace the EOL 6.16 refs.
>
> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
> ---

Hi Bruce,

Thanks for your patch. It looks like we do have some issue with qemu
images failing to boot on ARM:

Traceback (most recent call last):
  File "/srv/pokybuild/yocto-worker/qemuarm-oecore/build/layers/openembedded-core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/srv/pokybuild/yocto-worker/qemuarm-oecore/build/layers/openembedded-core/meta/lib/oeqa/runtime/cases/parselogs.py", line 185, in test_parselogs
    self.assertEqual(errcount, 0, msg=self.msg)
AssertionError: 2 != 0 : Log: /srv/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp/work/qemuarm-oe-linux-gnueabi/core-image-sato/1.0/target_logs/dmesg
-----------------------
Central error: [    2.782604] check access for rdinit=/init failed: -2, ignoring
***********************
[    2.708951] Key type fscrypt-provisioning registered
[    2.716922] Btrfs loaded, zoned=no, fsverity=no
[    2.719780] Key type encrypted registered
[    2.722461] netconsole: network logging started
[    2.763480] IP-Config: Complete:
[    2.764617]      device=eth0, hwaddr=52:54:00:12:34:02, ipaddr=192.168.7.2, mask=255.255.255.0, gw=192.168.7.1
[    2.767176]      host=192.168.7.2, domain=, nis-domain=(none)
[    2.768653]      bootserver=255.255.255.255, rootserver=255.255.255.255, rootpath=
[    2.768746]      nameserver0=8.8.8.8
[    2.773746] clk: Disabling unused clocks
[    2.782604] check access for rdinit=/init failed: -2, ignoring
[    2.784414] md: Waiting for all devices to be available before autodetect
[    2.786070] md: If you don't use raid, use raid=noautodetect
[    2.787605] md: Autodetecting RAID arrays.
[    2.788689] md: autorun ...
[    2.788965] md: ... autorun DONE.
[    2.863628] usb 1-1: new high-speed USB device number 2 using xhci_hcd
[    2.881074] EXT4-fs (vda): mounted filesystem 49485ab8-9460-46e8-bf1c-423f2c03e0bb r/w with ordered data mode. Quota mode: disabled.
[    2.887371] VFS: Mounted root (ext4 filesystem) on device 253:0.
[    2.892345] devtmpfs: mounted
[    3.045885] input: QEMU QEMU USB Tablet as /devices/platform/3f000000.pcie/pci0000:00/0000:00:02.0/usb1/1-1/1-1:1.0/0003:0627:0001.0001/input/input0

https://autobuilder.yoctoproject.org/valkyrie/#/builders/40/builds/2629

Can you have a look at this?

Thanks,
Mathieu
Bruce Ashfield Oct. 27, 2025, 12:17 p.m. UTC | #2
On Mon, Oct 27, 2025 at 5:28 AM Mathieu Dubois-Briand <
mathieu.dubois-briand@bootlin.com> wrote:

> On Sat Oct 25, 2025 at 4:48 AM CEST, Bruce Ashfield via
> lists.openembedded.org wrote:
> > From: Bruce Ashfield <bruce.ashfield@gmail.com>
> >
> > The 6.17 kernel went through quite a bit of testing via
> > linux-yocto-dev, so it is a relatively well understood release.
> >
> > These recipes introduce it as a fully tested reference with the
> > potential to replace the EOL 6.16 refs.
> >
> > Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
> > ---
>
> Hi Bruce,
>
> Thanks for your patch. It looks like we do have some issue with qemu
> images failing to boot on ARM:
>
> Traceback (most recent call last):
>   File
> "/srv/pokybuild/yocto-worker/qemuarm-oecore/build/layers/openembedded-core/meta/lib/oeqa/core/decorator/__init__.py",
> line 35, in wrapped_f
>     return func(*args, **kwargs)
>            ^^^^^^^^^^^^^^^^^^^^^
>   File
> "/srv/pokybuild/yocto-worker/qemuarm-oecore/build/layers/openembedded-core/meta/lib/oeqa/runtime/cases/parselogs.py",
> line 185, in test_parselogs
>     self.assertEqual(errcount, 0, msg=self.msg)
> AssertionError: 2 != 0 : Log:
> /srv/pokybuild/yocto-worker/qemuarm-oecore/build/build/tmp/work/qemuarm-oe-linux-gnueabi/core-image-sato/1.0/target_logs/dmesg
> -----------------------
> Central error: [    2.782604] check access for rdinit=/init failed: -2,
> ignoring
> ***********************
> [    2.708951] Key type fscrypt-provisioning registered
> [    2.716922] Btrfs loaded, zoned=no, fsverity=no
> [    2.719780] Key type encrypted registered
> [    2.722461] netconsole: network logging started
> [    2.763480] IP-Config: Complete:
> [    2.764617]      device=eth0, hwaddr=52:54:00:12:34:02,
> ipaddr=192.168.7.2, mask=255.255.255.0, gw=192.168.7.1
> [    2.767176]      host=192.168.7.2, domain=, nis-domain=(none)
> [    2.768653]      bootserver=255.255.255.255,
> rootserver=255.255.255.255, rootpath=
> [    2.768746]      nameserver0=8.8.8.8
> [    2.773746] clk: Disabling unused clocks
> [    2.782604] check access for rdinit=/init failed: -2, ignoring
> [    2.784414] md: Waiting for all devices to be available before
> autodetect
> [    2.786070] md: If you don't use raid, use raid=noautodetect
> [    2.787605] md: Autodetecting RAID arrays.
> [    2.788689] md: autorun ...
> [    2.788965] md: ... autorun DONE.
> [    2.863628] usb 1-1: new high-speed USB device number 2 using xhci_hcd
> [    2.881074] EXT4-fs (vda): mounted filesystem
> 49485ab8-9460-46e8-bf1c-423f2c03e0bb r/w with ordered data mode. Quota
> mode: disabled.
> [    2.887371] VFS: Mounted root (ext4 filesystem) on device 253:0.
> [    2.892345] devtmpfs: mounted
> [    3.045885] input: QEMU QEMU USB Tablet as
> /devices/platform/3f000000.pcie/pci0000:00/0000:00:02.0/usb1/1-1/1-1:1.0/0003:0627:0001.0001/input/input0
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/40/builds/2629
>
> Can you have a look at this?
>

It boots locally, so I don't have any great ideas.

We'd need the ARM guys to step in and offer some more specific advice.

Bruce



>
> Thanks,
> Mathieu
>
> --
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
>
Fabio Estevam Oct. 27, 2025, 12:31 p.m. UTC | #3
On Mon, Oct 27, 2025 at 9:17 AM Bruce Ashfield via
lists.openembedded.org
<bruce.ashfield=gmail.com@lists.openembedded.org> wrote:

> It boots locally, so I don't have any great ideas.

Shouldn't "check access for rdinit=/init failed: -2, ignoring" be
added to meta/lib/oeqa/runtime/cases/parselogs-ignores-common.txt?
Bruce Ashfield Oct. 27, 2025, 12:33 p.m. UTC | #4
On Mon, Oct 27, 2025 at 8:32 AM Fabio Estevam <festevam@gmail.com> wrote:

> On Mon, Oct 27, 2025 at 9:17 AM Bruce Ashfield via
> lists.openembedded.org
> <bruce.ashfield=gmail.com@lists.openembedded.org> wrote:
>
> > It boots locally, so I don't have any great ideas.
>
> Shouldn't "check access for rdinit=/init failed: -2, ignoring" be
> added to meta/lib/oeqa/runtime/cases/parselogs-ignores-common.txt?
>

Probably. Ross already knows about this though, since we were discussing
it last week.

I'll wait to hear from him on it.

Bruce
Bruce Ashfield Oct. 27, 2025, 12:36 p.m. UTC | #5
On Mon, Oct 27, 2025 at 8:33 AM Bruce Ashfield <bruce.ashfield@gmail.com>
wrote:

>
>
> On Mon, Oct 27, 2025 at 8:32 AM Fabio Estevam <festevam@gmail.com> wrote:
>
>> On Mon, Oct 27, 2025 at 9:17 AM Bruce Ashfield via
>> lists.openembedded.org
>> <bruce.ashfield=gmail.com@lists.openembedded.org> wrote:
>>
>> > It boots locally, so I don't have any great ideas.
>>
>> Shouldn't "check access for rdinit=/init failed: -2, ignoring" be
>> added to meta/lib/oeqa/runtime/cases/parselogs-ignores-common.txt?
>>
>
> Probably. Ross already knows about this though, since we were discussing
> it last week.
>
> I'll wait to hear from him on it.
>


I should add that this is nothing new, there's just a commit that landed in
july that promoted it to a visible warning, so it is safe to ignore (or at
least we
aren't making anything worse by ignoring it).

commit 98aa4d5d242d3a73388271e00e11ce91d8c3c3e1 for those that
might be interested.

Bruce



>
> Bruce
>
>
> --
> - Thou shalt not follow the NULL pointer, for chaos and madness await thee
> at its end
> - "Use the force Harry" - Gandalf, Star Trek II
>
>
Bruce Ashfield Oct. 27, 2025, 12:49 p.m. UTC | #6
On Mon, Oct 27, 2025 at 8:36 AM Bruce Ashfield via lists.openembedded.org
<bruce.ashfield=gmail.com@lists.openembedded.org> wrote:

>
>
> On Mon, Oct 27, 2025 at 8:33 AM Bruce Ashfield <bruce.ashfield@gmail.com>
> wrote:
>
>>
>>
>> On Mon, Oct 27, 2025 at 8:32 AM Fabio Estevam <festevam@gmail.com> wrote:
>>
>>> On Mon, Oct 27, 2025 at 9:17 AM Bruce Ashfield via
>>> lists.openembedded.org
>>> <bruce.ashfield=gmail.com@lists.openembedded.org> wrote:
>>>
>>> > It boots locally, so I don't have any great ideas.
>>>
>>> Shouldn't "check access for rdinit=/init failed: -2, ignoring" be
>>> added to meta/lib/oeqa/runtime/cases/parselogs-ignores-common.txt?
>>>
>>
>> Probably. Ross already knows about this though, since we were discussing
>> it last week.
>>
>> I'll wait to hear from him on it.
>>
>
>
> I should add that this is nothing new, there's just a commit that landed in
> july that promoted it to a visible warning, so it is safe to ignore (or at
> least we
> aren't making anything worse by ignoring it).
>
>
... and another finding that it is in all the boot logs, just one seems to
fail on it in
the testing (or we haven't reported the failures on the other architectures
yet).

We are hunting up where it appears from, and we'd be better to inhibit from
being
passed at all, versus ignoring it. In case we start using it someday :)

Bruce



> commit 98aa4d5d242d3a73388271e00e11ce91d8c3c3e1 for those that
> might be interested.
>
> Bruce
>
>
>
>>
>> Bruce
>>
>>
>> --
>> - Thou shalt not follow the NULL pointer, for chaos and madness await
>> thee at its end
>> - "Use the force Harry" - Gandalf, Star Trek II
>>
>>
>
> --
> - 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 (#225334):
> https://lists.openembedded.org/g/openembedded-core/message/225334
> Mute This Topic: https://lists.openembedded.org/mt/115939539/1050810
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> bruce.ashfield@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
diff mbox series

Patch

diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_6.17.bb b/meta/recipes-kernel/linux/linux-yocto-rt_6.17.bb
new file mode 100644
index 0000000000..a8dd6bfb2b
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_6.17.bb
@@ -0,0 +1,48 @@ 
+KBRANCH ?= "v6.17/standard/preempt-rt/base"
+
+require recipes-kernel/linux/linux-yocto.inc
+
+# CVE exclusions
+include recipes-kernel/linux/cve-exclusion_6.17.inc
+
+# Skip processing of this recipe if it is not explicitly specified as the
+# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying
+# to build multiple virtual/kernel providers, e.g. as dependency of
+# core-image-rt-sdk, core-image-rt.
+python () {
+    if d.getVar("KERNEL_PACKAGE_NAME") == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-yocto-rt":
+        raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
+}
+
+SRCREV_machine ?= "268abc460d21fe8510bc8a521f3ea887f2bbeef0"
+SRCREV_meta ?= "07eb16989b3f0b4fdfd433e602d70d0e0538495a"
+
+SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \
+           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.17;destsuffix=${KMETA};protocol=https"
+
+LINUX_VERSION ?= "6.17.5"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+
+DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
+DEPENDS += "openssl-native util-linux-native"
+
+PV = "${LINUX_VERSION}+git"
+
+KMETA = "kernel-meta"
+KCONF_BSP_AUDIT_LEVEL = "1"
+
+LINUX_KERNEL_TYPE = "preempt-rt"
+
+COMPATIBLE_MACHINE = "^(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)$"
+
+KERNEL_DEVICETREE:qemuarmv5 = "arm/versatile-pb.dtb"
+
+# Functionality flags
+KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
+KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES:append:qemuall = " cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
+KERNEL_FEATURES:append:qemux86 = " cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append:qemux86-64 = " cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
+KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_6.17.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_6.17.bb
new file mode 100644
index 0000000000..989b114769
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_6.17.bb
@@ -0,0 +1,33 @@ 
+KBRANCH ?= "v6.17/standard/tiny/base"
+
+LINUX_KERNEL_TYPE = "tiny"
+KCONFIG_MODE = "--allnoconfig"
+
+require recipes-kernel/linux/linux-yocto.inc
+
+# CVE exclusions
+include recipes-kernel/linux/cve-exclusion_6.17.inc
+
+LINUX_VERSION ?= "6.17.5"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+
+DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
+DEPENDS += "openssl-native util-linux-native"
+
+KMETA = "kernel-meta"
+KCONF_BSP_AUDIT_LEVEL = "2"
+
+SRCREV_machine ?= "d76cb43db46c5d45e25df34484c87f5e545bf4c5"
+SRCREV_meta ?= "07eb16989b3f0b4fdfd433e602d70d0e0538495a"
+
+PV = "${LINUX_VERSION}+git"
+
+SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \
+           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.17;destsuffix=${KMETA};protocol=https"
+
+COMPATIBLE_MACHINE = "^(qemux86|qemux86-64|qemuarm64|qemuarm|qemuarmv5)$"
+
+# Functionality flags
+KERNEL_FEATURES:append:qemuall = " cfg/virtio.scc cfg/fs/ext4.scc"
+
+KERNEL_DEVICETREE:qemuarmv5 = "arm/versatile-pb.dtb"
diff --git a/meta/recipes-kernel/linux/linux-yocto_6.17.bb b/meta/recipes-kernel/linux/linux-yocto_6.17.bb
new file mode 100644
index 0000000000..399dfa171b
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto_6.17.bb
@@ -0,0 +1,79 @@ 
+KBRANCH ?= "v6.17/standard/base"
+
+require recipes-kernel/linux/linux-yocto.inc
+
+# CVE exclusions
+include recipes-kernel/linux/cve-exclusion.inc
+include recipes-kernel/linux/cve-exclusion_6.17.inc
+
+# board specific branches
+KBRANCH:qemuarm  ?= "v6.17/standard/arm-versatile-926ejs"
+KBRANCH:qemuarm64 ?= "v6.17/standard/base"
+KBRANCH:qemumips ?= "v6.17/standard/mti-malta32"
+KBRANCH:qemuppc  ?= "v6.17/standard/qemuppc"
+KBRANCH:qemuriscv64  ?= "v6.17/standard/base"
+KBRANCH:qemuriscv32  ?= "v6.17/standard/base"
+KBRANCH:qemux86  ?= "v6.17/standard/base"
+KBRANCH:qemux86-64 ?= "v6.17/standard/base"
+KBRANCH:qemuloongarch64  ?= "v6.17/standard/base"
+KBRANCH:qemumips64 ?= "v6.17/standard/mti-malta64"
+
+SRCREV_machine:qemuarm ?= "23c78022fc97ea5ebc19ea8fb86d324c23a6fbaa"
+SRCREV_machine:qemuarm64 ?= "d76cb43db46c5d45e25df34484c87f5e545bf4c5"
+SRCREV_machine:qemuloongarch64 ?= "d76cb43db46c5d45e25df34484c87f5e545bf4c5"
+SRCREV_machine:qemumips ?= "62ea92a539f58803a222be98b81118403074206e"
+SRCREV_machine:qemuppc ?= "d76cb43db46c5d45e25df34484c87f5e545bf4c5"
+SRCREV_machine:qemuriscv64 ?= "d76cb43db46c5d45e25df34484c87f5e545bf4c5"
+SRCREV_machine:qemuriscv32 ?= "d76cb43db46c5d45e25df34484c87f5e545bf4c5"
+SRCREV_machine:qemux86 ?= "d76cb43db46c5d45e25df34484c87f5e545bf4c5"
+SRCREV_machine:qemux86-64 ?= "d76cb43db46c5d45e25df34484c87f5e545bf4c5"
+SRCREV_machine:qemumips64 ?= "9fb4ff0187c85426f21fd40d4c61b742800f65c4"
+SRCREV_machine ?= "d76cb43db46c5d45e25df34484c87f5e545bf4c5"
+SRCREV_meta ?= "07eb16989b3f0b4fdfd433e602d70d0e0538495a"
+
+# set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll
+# get the <version>/base branch, which is pure upstream -stable, and the same
+# meta SRCREV as the linux-yocto-standard builds. Select your version using the
+# normal PREFERRED_VERSION settings.
+BBCLASSEXTEND = "devupstream:target"
+SRCREV_machine:class-devupstream ?= "99efbd4259f384718dd16a7423d8e944396b65d4"
+PN:class-devupstream = "linux-yocto-upstream"
+KBRANCH:class-devupstream = "v6.17/base"
+
+SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH};protocol=https \
+           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.17;destsuffix=${KMETA};protocol=https"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+LINUX_VERSION ?= "6.17.5"
+
+PV = "${LINUX_VERSION}+git"
+
+KMETA = "kernel-meta"
+KCONF_BSP_AUDIT_LEVEL = "1"
+
+KERNEL_DEVICETREE:qemuarmv5 = "arm/versatile-pb.dtb"
+
+COMPATIBLE_MACHINE = "^(qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemuppc64|qemumips|qemumips64|qemux86-64|qemuriscv64|qemuriscv32|qemuloongarch64)$"
+
+# Functionality flags
+KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
+KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES:append:qemuall = " cfg/virtio.scc features/drm-bochs/drm-bochs.scc cfg/net/mdio.scc"
+KERNEL_FEATURES:append:qemux86 = " cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append:qemux86-64 = " cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc features/nf_tables/nft_test.scc", "", d)}"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("KERNEL_DEBUG", "True", " features/reproducibility/reproducibility.scc features/debug/debug-btf.scc", "", d)}"
+# libteam ptests from meta-oe needs it
+KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/net/team/team.scc", "", d)}"
+# openl2tp tests from meta-networking needs it
+KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " cgl/cfg/net/l2tp.scc", "", d)}"
+KERNEL_FEATURES:append:powerpc = " arch/powerpc/powerpc-debug.scc"
+KERNEL_FEATURES:append:powerpc64 = " arch/powerpc/powerpc-debug.scc"
+KERNEL_FEATURES:append:powerpc64le = " arch/powerpc/powerpc-debug.scc"
+# Do not add debug info for riscv32, it fails during depmod
+# 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"
+INSANE_SKIP:kernel-vmlinux:qemuppc64 = "textrel"