# 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. # # Per-series reconstruction closing kernel-agent#29 (2026-05-18 evening): # the 24 in-tree bes2600 -danctnix series-dirs below were repopulated # from cleanups + bes2600/bh-c-fossil-cleanup via # git format-patch fe73571..cleanups --no-merges # with paths rewritten from bes2600/* to drivers/staging/bes2600/*. # Order matches the original cleanups commit chronology (= the order # the c5x interim cumulative had folded them in). Replacing # cumulative-c5x-danctnix with these gives per-fix revertability + # proper apply_order traceability via the manifest. includes: # pre-c-stack (factory + early cleanups), in cleanups order - driver/bes2600/factory-series/ - driver/bes2600/factory-thread-dev/ - driver/bes2600/pm-gate-on-handshake/ - driver/bes2600/remove-chardev-user-interface/ - driver/bes2600/enable-testmode/ - driver/bes2600/tx-sdio-dma-oob-danctnix/ - driver/bes2600/factory-drop-kernel-write-danctnix/ - driver/bes2600/drop-dpd-file-paths-danctnix/ - driver/bes2600/drop-orphan-file-io-danctnix/ - driver/bes2600/pm-timeout-silence-danctnix/ # c-stack (c5.1, c5.1.1, c5.2 + c5.2.1, c6.1, c6.2, c7) - driver/bes2600/scan-defer-on-reject-danctnix/ - driver/bes2600/scan-defer-backoff-tune-danctnix/ - driver/bes2600/lmac-recover-via-mmc-hw-reset-danctnix/ # c5.2 + c5.2.1 (multi-fn SDIO) - driver/bes2600/pm-state-resync-danctnix/ - driver/bes2600/pm-wake-consume-state-danctnix/ - driver/bes2600/pm-detect-firmware-unsupported-danctnix/ # Patches A/B/F/C-v3/G/D/E/C2/H (in cleanups merge order) - driver/bes2600/decrypt-storm-fast-recover-danctnix/ # Patch A - driver/bes2600/connection-loss-fast-recover-danctnix/ # Patch B - driver/bes2600/cw1200-fix-backports-danctnix/ # Patches F3 + F2 + F1 - driver/bes2600/sdio-rx-no-relay-danctnix/ # Patch C v3 - driver/bes2600/license-spdx-restore-attribution-danctnix/ # Patch G - driver/bes2600/ba-lock-atomic-danctnix/ # Patch D - driver/bes2600/ps-state-lock-skip-pm-disabled-danctnix/ # Patch E - driver/bes2600/rx-list-batch-delivery-danctnix/ # Patch C2 - driver/bes2600/bh-c-fossil-cleanup-danctnix/ # Patch H # 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 # - cumulative-c5x-danctnix: retired in favour of the per-series above # (kept on disk for one cycle as bisection reference) # - staging-prep-series-danctnix: duplicate of tx-sdio-dma-oob-danctnix # under an older branch name; kept on disk for one cycle, dropped here 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. # ─────────────────────────────────────────────────────────────────────