# 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//.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/scs-arm-neon-build-fix/ # close besser#18 — pending_record_lock SOFTIRQ-safe -> -unsafe inversion. # Mirror of marfrit/bes2600-dkms#11 (d95453c). 5-site spin_lock -> _bh. - driver/bes2600/queue-pending-record-lock-bh-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. # ─────────────────────────────────────────────────────────────────────