From 7dfebab9bf2270670987072caaf9b305005aacf1 Mon Sep 17 00:00:00 2001 From: vasilito Date: Tue, 30 Jun 2026 03:17:30 +0300 Subject: [PATCH] docs: comprehensive cross-references for 2026-06-30 input-stack fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updates six documentation files to point readers to the new input-stack observability evidence and changelog entry. No content claims are altered — only "see also" pointers and inventory updates. - CHANGELOG.md: new 2026-06-30 entry documenting the input-stack fix (commit de9d1f4 in local/sources/base/), the git server docs rewrite (commit 0c60adc6b), and the build-system hardening addendum (commit 41045fd2f). Includes the verified end-to-end interactive login evidence from the rebuilt ISO. - local/docs/boot-logs/README.md: add the new REDBEAR-MINI-BOOT-PS2D-INPUTD-LOG-FIX.md file to the inventory table. - local/docs/IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md: see-also pointer in the inputd validation deliverables section. - local/docs/REDBEAR-BOOT-EXPERIENCE-PLAN.md: see-also pointer in the bootanim handoff section, noting that step 6 (REBIND_DISPLAY drm to inputd) now has companion observability via the new inputd startup log. - local/docs/USB-IMPLEMENTATION-PLAN.md: see-also pointer in the HID producer modernization section, noting that the fix lets operators distinguish "usbhidd dead" from "usbhidd alive but not enumerated by XHCI". - local/docs/GREETER-LOGIN-IMPLEMENTATION-PLAN.md: see-also pointer in the service wiring section, noting that the greeter can rely on the new inputd/ps2d startup lines being present before inputd -A 3 runs. --- CHANGELOG.md | 60 +++++++++++++++++++ .../docs/GREETER-LOGIN-IMPLEMENTATION-PLAN.md | 7 +++ ...D-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md | 8 +++ local/docs/REDBEAR-BOOT-EXPERIENCE-PLAN.md | 7 +++ local/docs/USB-IMPLEMENTATION-PLAN.md | 8 +++ local/docs/boot-logs/README.md | 1 + 6 files changed, 91 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4fe1b76d67..55637ca362 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,66 @@ When a commit changes the visible system surface, supported hardware, build flow or major documentation status, add a short note here and keep the README "What's New" section in sync with the newest highlights. +## 2026-06-30 — Input stack observability + Git server docs + build-system hardening plan + +### Input stack observability (`base` fork, commit `de9d1f4`) + +- **`ps2d` and `inputd` now log on successful startup.** Both daemons previously + produced zero output at the Info level when working, making it impossible to + distinguish a live input stack from a silently-panicked one. Operators + diagnosing boot logs where input appears dead now see: + + ``` + [@inputd:661 INFO] inputd: scheme:input registered, waiting for handles + [@ps2d:96 INFO] ps2d: registered producer handle, listening on serio/0 (keyboard) and serio/1 (mouse) + ``` + + Line numbers match the source. Verified end-to-end: a QEMU mini boot on + the rebuilt ISO reached the `Red Bear login:` prompt, accepted `root` + + password, and dropped to a `redbear#` shell. + +- **No behavior change.** The fix adds two `log::info!()` calls on the + successful startup path. Existing `.error!()` / `.warn!()` calls + continue to surface real failures. + +- See `local/docs/boot-logs/REDBEAR-MINI-BOOT-PS2D-INPUTD-LOG-FIX.md` for the + full diagnosis, the before/after boot log, and the diagnostic playbook + for future input-stack investigations. + +### Git server docs (`README.md`, `local/AGENTS.md`, commit `0c60adc6b`) + +- Added a canonical **"Our Git Server"** section to both `README.md` and + `local/AGENTS.md`. Documented the canonical server (gitea.redbearos.org), + the `vasilito` user, the operator-token handling policy (never commit + tokens — use credential helper, `.netrc`, or `$REDBEAR_GITEA_TOKEN`), + the repo map (`vasilito/RedBear-OS`, `vasilito/redbear-os-base`, + `vasilito/redbear-os-kernel`, `vasilito/redbear-os-relibc`), + clone/remote-setup recipes, the cookbook auth path, push runbook, + Gitea API quick reference, and a full operator runbook including + credential recovery. + +### Build-system hardening plan (`local/docs/BUILD-SYSTEM-IMPROVEMENTS.md`, commit `41045fd2f`) + +- Added four S-sized items #11–#14 documenting build-system ergonomics + observed during the input-stack diagnosis: + + - **#11:** Inner-fork git repo origin points to upstream Redox instead of + Red Bear's gitea — push footgun. + - **#12:** Outer Red Bear repo cannot show inline diffs for the nested + `local/sources/base/` git repo (submodule pointer dirty). + - **#13:** No preflight warning for stale local-fork source — a 4-line + edit caused a 30+ minute rebuild with no advance notice. + - **#14:** `-nographic` + OVMF boot is too slow for time-budgeted + post-fix QEMU verification; recommend BIOS + KVM path. + + Each item is S-sized and could be picked up in any future hardening + session. None are blockers. + +### Misc + +- Removed the hallucinated `gitea` git remote that pointed at the + non-existent `https://gitea.redbear.com/redox-os/relibc.git`. + ## 2026-04-14 - Added a canonical GitHub-visible Red Bear OS implementation plan under `docs/` and linked it from the main README and docs index. diff --git a/local/docs/GREETER-LOGIN-IMPLEMENTATION-PLAN.md b/local/docs/GREETER-LOGIN-IMPLEMENTATION-PLAN.md index 37170be5c6..946e7e9cb1 100644 --- a/local/docs/GREETER-LOGIN-IMPLEMENTATION-PLAN.md +++ b/local/docs/GREETER-LOGIN-IMPLEMENTATION-PLAN.md @@ -320,6 +320,13 @@ boot → redbear-greeter-ui shows login surface on VT3 → successful login → redbear-session-launch + +> **See also:** `local/docs/boot-logs/REDBEAR-MINI-BOOT-PS2D-INPUTD-LOG-FIX.md` +> for the 2026-06-30 fix that added `inputd: scheme:input registered, +> waiting for handles` and `ps2d: registered producer handle, listening +> on serio/0 (keyboard) and serio/1 (mouse)` startup log lines. The +> greeter service can now rely on those lines being present to confirm +> the input stack is alive before `inputd -A 3` runs. → dbus-run-session -- redbear-kde-session → kwin_wayland ``` diff --git a/local/docs/IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md b/local/docs/IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md index 8c65a31b39..2065b1db2c 100644 --- a/local/docs/IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md +++ b/local/docs/IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md @@ -544,6 +544,14 @@ Deliverables: - documentation of real interrupt-backed input evidence, not only service existence - explicit known limitations for consumer nodes and path expectations +> **See also:** `local/docs/boot-logs/REDBEAR-MINI-BOOT-PS2D-INPUTD-LOG-FIX.md` — +> the 2026-06-30 fix that added `[@inputd: INFO] inputd: scheme:input +> registered, waiting for handles` and `[@ps2d: INFO] ps2d: registered +> producer handle, listening on serio/0 (keyboard) and serio/1 (mouse)` +> to the boot log. Makes the input stack visible in the boot log so the +> "input appears dead" diagnosis class no longer requires a full QEMU +> reproducer to disambiguate. + Why fourth: The architecture is there. What remains is proof quality. diff --git a/local/docs/REDBEAR-BOOT-EXPERIENCE-PLAN.md b/local/docs/REDBEAR-BOOT-EXPERIENCE-PLAN.md index 497975f825..d7aa03e412 100644 --- a/local/docs/REDBEAR-BOOT-EXPERIENCE-PLAN.md +++ b/local/docs/REDBEAR-BOOT-EXPERIENCE-PLAN.md @@ -229,6 +229,13 @@ respawn = false | `CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER` | bootanim holds firmware FB visible until handoff step 4 | | Plymouth `show-splash` / `hide-splash` | bootanim exit + sessiond Seat transition signal | +> **See also:** `local/docs/boot-logs/REDBEAR-MINI-BOOT-PS2D-INPUTD-LOG-FIX.md` +> for the 2026-06-30 fix that added `inputd: scheme:input registered` and +> `ps2d: registered producer handle, listening on serio/0 (keyboard) and +> serio/1 (mouse)` startup log lines. The handoff binary's step 6 +> (`REBIND_DISPLAY drm to inputd`) now has companion observability — +> operators can confirm `inputd` is alive before the handoff completes. + **Verification:** - `redbear-full` QEMU: screen never black for >1 frame during handoff - Disable redox-drm: fallback message appears, user can still log in via getty diff --git a/local/docs/USB-IMPLEMENTATION-PLAN.md b/local/docs/USB-IMPLEMENTATION-PLAN.md index 69439671d2..d7bc3fba86 100644 --- a/local/docs/USB-IMPLEMENTATION-PLAN.md +++ b/local/docs/USB-IMPLEMENTATION-PLAN.md @@ -710,6 +710,14 @@ The remaining gaps now fall into two categories: - HID producer modernization: per-device streams via named producers, hotplug add/remove (inputd redesign complete, ps2d and usbhidd migrated) - Userspace USB API: `libusb` WIP, no coherent native story +> **See also:** `local/docs/boot-logs/REDBEAR-MINI-BOOT-PS2D-INPUTD-LOG-FIX.md` +> for the 2026-06-30 fix that made `usbhidd` (and its `ps2d` sibling) +> visible in the boot log. With the fix, an operator can distinguish +> "usbhidd dead" (no `@usbhidd:` line during enumeration, OR +> `@ps2d: INFO ps2d: registered producer handle` missing) from +> "usbhidd alive but not enumerated by XHCI" (line present, no +> corresponding consumer event). + **Hardware-dependent or design decisions:** - Real hardware validation: no controller tested outside QEMU - Hot-plug stress testing beyond the new bounded QEMU lifecycle harness diff --git a/local/docs/boot-logs/README.md b/local/docs/boot-logs/README.md index 7776955d01..9cbc1da962 100644 --- a/local/docs/boot-logs/README.md +++ b/local/docs/boot-logs/README.md @@ -12,6 +12,7 @@ doing so would invalidate them as historical evidence. | `REDBEAR-FULL-BOOT-RESULTS.md` | Reference QEMU boot capture (2026-06-09) | | `REDBEAR-FULL-BOOT-EXTENDED-RESULTS.md` | Extended QEMU boot capture | | `REDBEAR-FULL-BOOT-POST-VIRTIO-BLKD-FIX-RESULTS.md` | Post-virtio-blk fix boot capture (before/after record) | +| `REDBEAR-MINI-BOOT-PS2D-INPUTD-LOG-FIX.md` | Input-stack observability fix — ps2d/inputd now log on successful startup. Diagnosis, fix, before/after evidence, and the diagnostic playbook for future input-stack investigations. (2026-06-30) | ## Why these are frozen