README + danctnix-besser-pkgbuild/README: point at kernel-agent pkgrel=4 flow #21

Merged
marfrit merged 8 commits from noether/readme-pkgrel4-kernel-agent-flow into main 2026-05-18 19:18:30 +00:00
Owner

Updates the gitea tl;dr to reflect the new home

Closing the third deliverable of the ohm migration goal: README tl;dr now points at the kernel-agent-managed pkgrel=4 flow.

Top-level README

Adds two new rows to the Repos table:

  • marfrit/marfrit-packages/arch/linux-pinetab2-danctnix-besser/ — kernel-agent-driven PKGBUILD home (pkgrel=4+)
  • marfrit/kernel-agent — manifest + per-patch series + ka-promote ohm build

Marks the hand-managed pkgbuild dir as historical.

danctnix-besser-pkgbuild/README.md

  • Adds a "⚠️ PKGBUILD MOVED" banner at the top redirecting readers to the new home.
  • Refreshes the TL;DR table: pkgrel=4 package filename, new "PKGBUILD home" row, new "Patch manifest" row, new "Cumulative b2sum" row (bd42cd39106298879eeb…).
  • Adds a pkgrel history table (1..3 hand-managed → 4 kernel-agent).
  • Adds a Building section for the kernel-agent flow (and keeps the hand-managed flow as DEPRECATED for reference).
  • Updates Installing + Verifying examples to pkgrel=4. Notes the srcversion BEB625FA7443171EA8D55F7 carries forward unchanged because pkgrel=4's source is byte-identical to pkgrel=3.
  • Updates the Maintenance plan to describe the manifest+ka-promote update cycle.

References

  • kernel-agent PR #28 (manifest + interim cumulative + Patch I + GCC 15 SCS fix)
  • marfrit-packages PR #28 (PKGBUILD pkgrel=4)
  • kernel-agent#29 (per-series reconstruction follow-up)
## Updates the gitea tl;dr to reflect the new home Closing the third deliverable of the ohm migration goal: README tl;dr now points at the kernel-agent-managed pkgrel=4 flow. ### Top-level README Adds two new rows to the Repos table: - `marfrit/marfrit-packages/arch/linux-pinetab2-danctnix-besser/` — kernel-agent-driven PKGBUILD home (pkgrel=4+) - `marfrit/kernel-agent` — manifest + per-patch series + `ka-promote ohm` build Marks the hand-managed pkgbuild dir as historical. ### `danctnix-besser-pkgbuild/README.md` - Adds a "⚠️ PKGBUILD MOVED" banner at the top redirecting readers to the new home. - Refreshes the TL;DR table: pkgrel=4 package filename, new "PKGBUILD home" row, new "Patch manifest" row, new "Cumulative b2sum" row (`bd42cd39106298879eeb…`). - Adds a pkgrel history table (1..3 hand-managed → 4 kernel-agent). - Adds a Building section for the kernel-agent flow (and keeps the hand-managed flow as DEPRECATED for reference). - Updates Installing + Verifying examples to pkgrel=4. Notes the srcversion `BEB625FA7443171EA8D55F7` carries forward unchanged because pkgrel=4's source is byte-identical to pkgrel=3. - Updates the Maintenance plan to describe the manifest+ka-promote update cycle. ### References - kernel-agent PR #28 (manifest + interim cumulative + Patch I + GCC 15 SCS fix) - marfrit-packages PR #28 (PKGBUILD pkgrel=4) - kernel-agent#29 (per-series reconstruction follow-up)
marfrit added 7 commits 2026-05-18 14:57:02 +00:00
Build (PID 558898 on boltzmann) failed at bes2600_btuart.c:81:
  error: implicit declaration of function 'bes2600_chrdev_switch_subsys_glb'

Root cause: the original danctnix-flavor adaptation overlaid Mobian's
heavily-trimmed bes_chardev.{c,h} on top of pristine danctnix.  Mobian's
flavor (694 lines) had stripped out the BT/WiFi subsystem-switch
orchestration that pristine danctnix (1387 lines) carries and that
danctnix-only bes2600_btuart.c calls.

Fix: restore pristine danctnix bes_chardev.{c,h} as the baseline for
those two files in the danctnix flavor, then reapply Mobian's
campaign-relevant changes:
  - Patch G: SPDX-License-Identifier header + corrected attribution
  - Patch B: bes2600_chrdev_do_bus_reset + _trigger_bus_reset
    (definitions in bes_chardev.c, declarations in bes_chardev.h,
    EXPORT_SYMBOL_GPL on _trigger_bus_reset since it is called from
    sta.c connection-loss-storm fast-recover path)

Phase 6 thread-safety contract: bus_reset functions read
bes2600_cdev.{sbus_ops,sbus_priv} without locking, identical to the
Mobian-flavor source-of-truth - acceptable given the bus_reset is
invoked from already-serialized higher-level error paths in sta.c.

48 files unchanged in count, +1412/-1243 (was +1426/-2003).  The
delta vs the previous patch is concentrated in bes_chardev.{c,h}:
+776/-16 in .c (restoring the BT/WiFi switching infrastructure plus
appending Patch B), +2/-2 in .h (declarations + SPDX).

Patch verified to apply cleanly to v7.0-danctnix1 baseline.
b2sum updated in PKGBUILD.

Build retrigger pending on his.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
(1) Add `provides=("linux-pinetab2=$pkgver-$pkgrel")` and
    `conflicts=(linux-pinetab2)` so pacman -U cleanly replaces the
    upstream linux-pinetab2 package without needing --overwrite for the
    shared rk3566-pinetab2-*.dtb files.

    Verified end-to-end on ohm 2026-05-08: with these declarations
    pacman would refuse coexistence (matching the actual filesystem
    reality - both packages own the same DTB paths) and accept upgrade
    when removing the old package.

    Keeping `replaces=(wireguard-arch)` from upstream linux-pinetab2.
    Not adding linux-pinetab2 to replaces= since the soft-upstream
    intent is opt-in sidegrade, not auto-install on -Syu.

(2) Replace the bash for-loop DTB strip with find -delete.

    The original loop silently no-op'd during the makepkg-fakeroot
    package() phase: build verification of the published .pkg.tar.zst
    showed 236 DTBs, 234 of them unrelated boards (px30-*, rk3308-*,
    rk3328-*, rk3399-*, etc).  Root cause not pinned down (suspected
    nullglob or cwd interaction), but find -mindepth 1 -maxdepth 1
    ! -name 'rk3566-pinetab2-*' -delete is robust to that environment
    and correctly identifies 2 to keep / 234 to remove on the existing
    pkgdir.

    Net pkg size impact: ~5 MB reduction (most non-pinetab2 DTBs are
    20-40 KB).

No kernel rebuild required - PKGBUILD-only metadata + package() logic
change.  Will take effect on the next makepkg run.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two readiness gaps surfaced after the end-to-end install verification on
ohm 2026-05-08:

(1) The "Building" section was a one-liner ("makepkg -s ... pacman -U
    ... reboot") with no actual install commands.  Replaced with proper
    Building / Installing / Verifying / Rolling back sections, using
    the exact commands that worked end-to-end on ohm:

    - sudo pacman -U <pkg.tar.zst>
    - The new conflicts/provides metadata means no --overwrite needed
    - PineTab2 U-Boot script update via /boot/boot.txt + mkscr
    - Off-device backup (boot.scr.pre-besser) for trivial rollback
    - Post-reboot checks: uname -r, lsmod, /sys/module/bes2600/srcversion

(2) The "What's in the patchset" table listed Patch G / Patch B / etc.
    without linking to the actual commits.  Added a preamble pointer to
    the cleanups branch on marfrit/bes2600-dkms gitea, which is the
    source-of-truth for individual commits + Phase-7 verification logs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds 0002-bes2600-filter-5ghz-scan.patch on top of the existing
cumulative series, addressing besser issue #1 (recurring
wsm_generic_confirm 0x0007 / [SCAN] Scan failed (-22) pattern).

The fix refuses 5 GHz hw_scan iterations in bes2600_hw_scan; the
firmware-reject cascade for the 5 GHz leg of mac80211's per-band
hw_scan loop is short-circuited.  Source-of-truth commit lives on
marfrit/bes2600-dkms branch bes2600/scan-filter-5ghz (sha 093a503).

Predicted Phase 7 delta: Pattern A rate 14/h -> 0/h. See besser#1
comment 1171 for the full Phase 0-4 analysis and Phase 5 review.

pkgrel bumped to 2.
Three things bundled because they were verified together in the same
deploy cycle on ohm (kernel built fresh on boltzmann 2026-05-18):

1. 0002 (Patch I) refined: refuse only multi-channel 5 GHz scans
   (n_channels > 1).  Original Patch I refused everything, which
   blocked NM's per-frequency BSS discovery and made 5 GHz association
   impossible.  Tighter guard preserves the storm fix and unblocks
   5 GHz attachment via NM 802-11-wireless.band=a profiles.

   Verified on ohm with pkgrel=3: associated to BSSID
   c0:25:06:e6:5b:33 on 5240 MHz (ch.48), TX 150 Mbit/s MCS 7
   HT40 short-GI vs 72.2 Mbit/s on 2.4 GHz.  Pattern A still 0.

   Source-of-truth: marfrit/bes2600-dkms branch bes2600/scan-filter-5ghz
   commits 093a503 + 8cd10f4 (squashed into this single 0002 file).

2. 0003 (new): arm64 xor-neon Makefile workaround for GCC 15.2.1
   strict pragma validator vs arm_neon.h target() blocks losing
   -ffixed-x18 under SCS=y.  This is a defensive workaround;
   currently dead-coded (SCS=n below) but in place for the day SCS
   re-enable becomes possible (tracked in besser#20).

3. config: CONFIG_SHADOW_CALL_STACK=n override for the current GCC
   15.2.1 toolchain issue.  Restore to =y once GCC upstream fixes
   the arm_neon.h pragma interaction (besser#20).

pkgrel bumped 2 -> 3.

Refs: besser#1 (closed), besser#20, kernel-agent#25 (PR mirroring
this into the kernel-agent patch tree — needs follow-up to pick
up the refinement).
Adds a TL;DR table at top with package name, srcversion, source-of-
truth pointers, and the SCS caveat.  Extends the patch table with
Patch I (5 GHz scan filter, closes besser#1) and the arm64 SCS
Makefile workaround.  Updates the measured-outcome section with the
2026-05-18 5 GHz benchmark (11.32 MB/s sustained internet download
on newton ch.48 — 3.6x the 2.4 GHz baseline of 3.12 MB/s on the same
source URL).

Refreshes the install + verify instructions to pkgrel=3, expected
srcversion BEB625FA, and adds the per-band scan probe commands that
demonstrate Patch I working.

Adds the kernel-agent mirror to the provenance list and surfaces the
Phase 5 reviewer's known residual limitation about multi-band iw
scan (mac80211 aborts-on-any-band-fail; per-band scans work normally).
- Top-level README: add kernel-agent + marfrit-packages repos to the
  Repos table; mark this hand-managed pkgbuild dir as historical.
- danctnix-besser-pkgbuild/README: add a "MOVED" banner pointing at
  marfrit/marfrit-packages/arch/linux-pinetab2-danctnix-besser/ as the
  canonical PKGBUILD home from pkgrel=4 onwards. Refresh the TL;DR
  table (pkgrel=4, new cumulative b2sum bd42cd39..., new "Patch
  manifest" row). Add a pkgrel history table. Update Building
  section with the kernel-agent flow (and keep the hand-managed flow
  as DEPRECATED for reference). Update Installing + Verifying
  examples to pkgrel=4. Update Maintenance plan.

Refs: kernel-agent#28, marfrit-packages#28, kernel-agent#29 (per-series
reconstruction follow-up).
claude-noether added 1 commit 2026-05-18 16:02:02 +00:00
pkgrel=5 = pkgrel=4 + besser#18 lockdep fix. Cumulative b2sum
0eb091ddaba4a8f1c3c2a78... (162 704 B, 4 patches). pkgrel=4 kept
in the history table as a migration-only fallback.
marfrit merged commit e031b544ad into main 2026-05-18 19:18:30 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: marfrit/besser#21