diff mbox series

[meta-rockchip,v3] kernel: add config fragment for lttng-modules prerequisites

Message ID 20261025211648.2608396-1-twoerner@gmail.com
State New
Headers show
Series [meta-rockchip,v3] kernel: add config fragment for lttng-modules prerequisites | expand

Commit Message

Trevor Woerner Oct. 25, 2026, 9:16 p.m. UTC
The machines in this layer have no BSP description in yocto-kernel-cache
and build from an in-tree defconfig via KBUILD_DEFCONFIG, so the
standard kernel type's configuration never reaches them. Neither the arm
nor the arm64 defconfig enables what lttng-modules needs: kprobes is a
hard compile failure, and without the tracing infrastructure the build
silently produces no modules at all.

Ship the missing subset as a fragment in the layer's own kmeta, so it
resolves for any recipe here rather than only for ones that fetch the
kernel cache.

AI-Generated: codex/claude-opus 5 (xhigh)
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
changes in v3:
- move the fragment into the layer's own kmeta and reference it from
  KERNEL_FEATURES, rather than adding a bare .cfg to SRC_URI, so it sits
  with the layer's other kernel metadata and can be named
- enable CONFIG_FTRACE_SYSCALLS, and justify the symbol set by what
  ktypes/standard already gives a cache-described BSP (features/kprobes,
  features/ftrace) rather than deriving it from first principles
- leave CONFIG_KALLSYMS_ALL unset: ktypes/base sets it to n, so the
  lttng writeback probe is dropped everywhere and this layer should not
  diverge
- considered yocto-cfg-fragments (as meta-virtualization does) and
  CONFIG_ENABLE_DEFAULT_TRACERS as a lighter route to tracepoints; both
  were dropped in favour of matching the standard kernel type, which
  every other linux-yocto BSP already gets
---
 recipes-kernel/linux/linux-rockchip.inc          |  1 +
 .../rockchip-kmeta/bsp/rockchip/lttng.cfg        | 16 ++++++++++++++++
 .../rockchip-kmeta/bsp/rockchip/lttng.scc        |  1 +
 3 files changed, 18 insertions(+)
 create mode 100644 recipes-kernel/linux/linux-rockchip/rockchip-kmeta/bsp/rockchip/lttng.cfg
 create mode 100644 recipes-kernel/linux/linux-rockchip/rockchip-kmeta/bsp/rockchip/lttng.scc
diff mbox series

Patch

diff --git a/recipes-kernel/linux/linux-rockchip.inc b/recipes-kernel/linux/linux-rockchip.inc
index 6c62e849834c..b87cb7a14bf8 100644
--- a/recipes-kernel/linux/linux-rockchip.inc
+++ b/recipes-kernel/linux/linux-rockchip.inc
@@ -34,5 +34,6 @@  COMPATIBLE_MACHINE:soquartz = "soquartz"
 SRC_URI:append:rockchip = " file://rockchip-kmeta;type=kmeta;name=rockchip-kmeta;destsuffix=rockchip-kmeta"
 SRC_URI:append:nanopi-r4s = " file://realtek-r8169.cfg"
 
+KERNEL_FEATURES:append:rockchip = " bsp/rockchip/lttng.scc"
 KERNEL_FEATURES:append:rockchip:arm = " bsp/rockchip/remove-non-rockchip-arch-arm.scc"
 KERNEL_FEATURES:append:rockchip:aarch64 = " bsp/rockchip/remove-non-rockchip-arch-arm64.scc"
diff --git a/recipes-kernel/linux/linux-rockchip/rockchip-kmeta/bsp/rockchip/lttng.cfg b/recipes-kernel/linux/linux-rockchip/rockchip-kmeta/bsp/rockchip/lttng.cfg
new file mode 100644
index 000000000000..c92c62be2b8b
--- /dev/null
+++ b/recipes-kernel/linux/linux-rockchip/rockchip-kmeta/bsp/rockchip/lttng.cfg
@@ -0,0 +1,16 @@ 
+# Prerequisites for building lttng-modules.
+#
+# These symbols are what ktypes/standard gives every BSP that has a
+# yocto-kernel-cache description, via features/kprobes and
+# features/ftrace, trimmed to what lttng-modules uses: kprobes is a hard
+# compile requirement (src/wrapper/kallsyms.c), and the tracing
+# infrastructure is what it traces with - without it the build produces
+# no modules at all rather than failing.
+#
+# CONFIG_KALLSYMS_ALL is deliberately absent: ktypes/base sets it to n,
+# so the lttng "writeback" probe is dropped on every linux-yocto BSP and
+# this layer has no reason to diverge.
+CONFIG_KPROBES=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FTRACE_SYSCALLS=y
diff --git a/recipes-kernel/linux/linux-rockchip/rockchip-kmeta/bsp/rockchip/lttng.scc b/recipes-kernel/linux/linux-rockchip/rockchip-kmeta/bsp/rockchip/lttng.scc
new file mode 100644
index 000000000000..2d0412541c81
--- /dev/null
+++ b/recipes-kernel/linux/linux-rockchip/rockchip-kmeta/bsp/rockchip/lttng.scc
@@ -0,0 +1 @@ 
+kconf non-hardware lttng.cfg