Skip to content

ci: kernel-tracing runtime gate on a stock (no CONFIG_CONSTRUCTORS) kernel (1.7.5)#41

Merged
Jo5ta merged 1 commit into
mainfrom
ci/kernel-runtime-gate
Jul 11, 2026
Merged

ci: kernel-tracing runtime gate on a stock (no CONFIG_CONSTRUCTORS) kernel (1.7.5)#41
Jo5ta merged 1 commit into
mainfrom
ci/kernel-runtime-gate

Conversation

@Jo5ta

@Jo5ta Jo5ta commented Jul 11, 2026

Copy link
Copy Markdown
Collaborator

Adds the CI regression gate for the module-notifier init path (1.7.4), and closes the "runtime kernel test" thread.

What it does: a new kernel-runtime job boots the clltk kernel modules in QEMU on the stock distro kernel — which is built without CONFIG_CONSTRUCTORS — and checks that tracing actually registers (trace files created, zero invalid in_file_offset errors). If registration ever regresses to depending on the constructor, this job fails.

No kernel build. It uses the distro kernel-core package (bootable image) plus kernel-devel (matching build tree). On x86_64 the image is a bzImage QEMU boots directly; on aarch64 the image is an EFI zboot (zstd) wrapper, so the script extracts the raw Image from the zboot payload. Runs under TCG — no KVM required.

Verified in the CI container (aarch64 path): stock kernel with CONFIG_CONSTRUCTORS off, 5 trace files, zero invalid-offset errorsSTOCK_KERNEL_TRACE_OK. The x86_64 CI runners take the simpler native-bzImage path.

This complements the existing build-kernel-module job (compile/link across kernel headers) with an actual runtime check on a realistic kernel config.

Adds a CI job that boots the clltk kernel modules in QEMU on the stock
distro kernel - which is built WITHOUT CONFIG_CONSTRUCTORS - and checks
that tracing registers and produces trace files. This locks in the
module-notifier init path (1.7.4): if registration ever regresses to
depending on constructors, this job fails.

No kernel build: the distro kernel-core package provides a bootable
image and kernel-devel the matching build tree. On x86_64 the image is
a bzImage QEMU boots directly; on aarch64 it is an EFI zboot (zstd)
wrapper, so the raw Image is extracted from the zboot payload. Runs
under TCG, no KVM required. Verified in the CI container: stock kernel
(CONFIG_CONSTRUCTORS off), 5 trace files, zero invalid-offset errors.

Signed-off-by: Jo5ta <jo5ta@mail.de>
@Jo5ta Jo5ta merged commit 2c9743c into main Jul 11, 2026
12 checks passed
@Jo5ta Jo5ta deleted the ci/kernel-runtime-gate branch July 11, 2026 17:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant