Files
kernel-agent/fleet/ohm.yaml
T
claude-noether f203b70f4f fleet/ohm: switch bes2600 driver scope to cumulative-c5x-danctnix interim (closes #5 partial migration)
Audit during ohm pkgrel=4 migration found the per-series -danctnix
mirrors merged in #17 do NOT apply against the linux-pinetab2 baseline:
all 17 of them use DKMS-style root paths (bes2600/foo.c) rather than
in-tree staging paths (drivers/staging/bes2600/foo.c), and at least one
has a corrupted mixed-prefix header
(a/drivers/staging/bes2600/...  b/bes2600/...).

ka-promote ohm with those includes produced a 172 644-byte cumulative
touching 27 file paths, of which 11 are bogus. The hand-curated
0001-bes2600-besser-cumulative-series.patch from the working
danctnix-besser-pkgbuild flow on boltzmann (148 149 bytes, 48 in-tree
staging files) is what pkgrel=3 actually builds with.

Until the per-series mirrors are reconstructed (followup issue to be
opened separately), the bes2600 driver scope is satisfied here by
staging that hand-curated cumulative as a single-file series-dir
patches/driver/bes2600/cumulative-c5x-danctnix/. ohm.yaml drops the
broken per-series includes in favour of:

  - driver/bes2600/cumulative-c5x-danctnix/
  - driver/bes2600/scan-filter-5ghz-danctnix/      (closes besser#1)
  - arch/arm64/xor-neon-ffixed-x18-scs-build-fix-danctnix/

ka-promote ohm now produces a self-consistent 157 446-byte cumulative
(148 149 + 7 735 + 1 562 = exact byte arithmetic) with b2sum
a807297b25be... which is what the new
marfrit-packages/arch/linux-pinetab2-danctnix-besser PKGBUILD pkgrel=4
pins.

Also fixes fleet/ohm.yaml YAML parse error: bar5_burn_in had a scalar
value followed by a sub-list, which ka-promote (PyYAML) refused to
parse. The whole manifest had never parsed cleanly since #18 landed.

Refs: #5 (migrate PKGBUILD), #2 (mirror besser series — needs per-series
rewrite followup), besser#1 (Patch I).
2026-05-18 16:50:41 +02:00

122 lines
5.9 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# kernel-agent manifest for ohm (PineTab2 / Rockchip RK3566 + BES2600 SDIO WiFi/BT)
#
# Status: scaffolding from 2026-05-16. Patches/scopes are mirrored;
# the build pipeline (cumulative-patch generation, makepkg invocation,
# sign+publish) still relies on the hand-managed flow in
# boltzmann:~/src/besser/marfrit-besser/danctnix-besser-pkgbuild/kernel/.
# Once ka-promote / ka-build land, switch this manifest to authoritative
# and retire the boltzmann-side checkouts (canonical + the orphan at
# ~/src/besser/danctnix-besser-pkgbuild/ that the fourier-campaign
# sibling agent accidentally created).
#
# See kernel-agent issue #5 for the full migration plan.
host: ohm
arch: arm64
soc: rockchip/rk3566
board: pinetab2
distro: archlinux-arm # DanctNIX PineTab2 variant on Arch Linux ARM aarch64
baseline:
tree: DanctNIX/linux-pinetab2
url: https://codeberg.org/DanctNIX/linux-pinetab2
ref: v7.0-danctnix1 # _srcname=linux-pinetab2 _srctag=v${pkgver%.*}-${pkgver##*.}
upstream_compat: linux-7.0 # DanctNIX rebases off mainline + per-tablet delta
# Scope-tagged patch includes. Resolves to patches/<scope>/<file>.patch.
#
# 2026-05-18 audit: the per-series -danctnix mirrors in
# patches/driver/bes2600/*-danctnix/ created by kernel-agent#17 use
# DKMS-style root paths (bes2600/foo.c) rather than in-tree staging
# paths (drivers/staging/bes2600/foo.c), and at least one has corrupted
# mixed-prefix headers (a/drivers/staging/bes2600/... b/bes2600/...).
# They do NOT apply cleanly against the linux-pinetab2 baseline.
#
# Until the per-series mirrors are reconstructed (kernel-agent followup
# issue), the bes2600 driver scope is satisfied by a single-file
# cumulative captured from the working hand-managed
# danctnix-besser-pkgbuild flow on boltzmann (see
# patches/driver/bes2600/cumulative-c5x-danctnix/README.md). This is
# the c5x stack as it shipped in pkgrel=3 on 2026-05-18.
includes:
# bes2600 driver (c5x stack as shipped in pkgrel=3) — single-file
# interim cumulative; per-series reconstruction tracked separately.
- driver/bes2600/cumulative-c5x-danctnix/
# close besser#1 — refuse multi-channel 5 GHz scans at driver boundary.
- driver/bes2600/scan-filter-5ghz-danctnix/
# GCC 15.2.1 build-fix for arm_neon.h + SHADOW_CALL_STACK interaction.
# Runtime no-op as long as the config has CONFIG_SHADOW_CALL_STACK=n
# (current ohm setting). Kept in the manifest for the day SCS gets
# re-enabled. See reference_arm64_scs_arm_neon_gcc15 memory.
- arch/arm64/xor-neon-ffixed-x18-scs-build-fix-danctnix/
# Explicitly NOT included (decision logged):
# - debian-copyright-fsf-address: Debian packaging metadata, not kernel
# - bare (non-danctnix) variants of the per-series mirrors: same
# root-path bug as the -danctnix variants per the 2026-05-18 audit
config:
source: hand-managed config file in boltzmann:~/src/besser/marfrit-besser/danctnix-besser-pkgbuild/kernel/config
strategy: snapshot, fold to baseline, accept-new with rationale on diff
TODO: migrate config into kernel-agent flow once kconfig-by-manifest lands
package:
name: linux-pinetab2-danctnix-besser
versioning: "${baseline_ref}.kafr${pkgrel}" # e.g. v7.0-danctnix1.kafr1
install_mode: alongside # coexists with linux-pinetab2 if user wants A/B
conflicts: []
provides: [linux-pinetab2] # drop-in replacement; pacman can satisfy linux-pinetab2 deps
kernel_suffix: -danctnix-besser # vmlinuz-linux-pinetab2-danctnix-besser
bootloader: extlinux # PineTab2 standard
# PKGBUILD currently at:
# boltzmann:~/src/besser/marfrit-besser/danctnix-besser-pkgbuild/kernel/PKGBUILD
# TARGET location (per issue #5):
# marfrit/marfrit-packages/arch/linux-pinetab2-danctnix-besser/PKGBUILD
# PENDING the kernel-agent template-rendering pipeline (b2sums regen,
# pkgrel bump, cumulative-patch generation from manifest scope).
template_at: TBD-marfrit-packages-arch-linux-pinetab2-danctnix-besser
replaces_dkms: bes2600-dkms # once cumulative series in this manifest is enough
verify:
bar1_ssh_heartbeat: required
bar2_pkg_version: required
bar3_module_loaded:
- bes2600 module loads
- wlan0 + bt0 (BT/UART) present after boot
- sdio_force_uhs=0 not needed (DMA-OOB-read fix in tx-sdio-dma-oob series)
bar4_per_patch_probe: opt-in
bar5_burn_in:
mode: opt-in
tests:
- "WiFi: 24h iperf3 to LAN host without rxhang"
- "PM: lid-close → wake cycles × 100 without bes2600 confirm-loss"
build_host:
primary: boltzmann # native aarch64 with ohm's identical .config
fallback: fermi # hertz LXD, ALARM aarch64
# No distcc per feedback_kernel_agent_no_distcc.md.
backup:
pre_install: hertz:/sparfuxdata/kernel-agent-backups/ohm/${replaced_version}/
# ─────────────────────────────────────────────────────────────────────
# OPEN — kernel-agent CLI work blocking full migration:
#
# 1. ka-promote: read includes[] above + apply_order field (to be added),
# concatenate referenced series into a single .patch in the build dir.
# Validate it applies cleanly on baseline.ref. Compute b2sum for
# template substitution.
#
# 2. PKGBUILD template renderer: stamp pkgrel, ${_cumulative_b2sum},
# ${_srctag} from manifest into a PKGBUILD draft at the
# template_at location. Sign + publish to packages.reauktion.de.
#
# 3. Orphan retirement: surface ~/src/besser/danctnix-besser-pkgbuild/
# (NO remote, ~/src/besser/marfrit-besser/... is canonical) to
# Markus / fourier campaign for working-state migration BEFORE
# deleting. See besser issue #17 for the regression that the
# orphan caused. After the kernel-agent flow is authoritative,
# delete both checkouts.
# ─────────────────────────────────────────────────────────────────────