Skip to content

docs(X8): OS image improvement plan (stay on LmP, not Gentoo) + TODO X8OS-1..4 - #145

Merged
dorkmo merged 1 commit into
mainfrom
claude/project-thread-yvt2uy
Oct 13, 2026
Merged

dorkmo merged 1 commit into
mainfrom
claude/project-thread-yvt2uy

Conversation

@dorkmo

@dorkmo dorkmo commented Oct 13, 2026

Copy link
Copy Markdown
Contributor

Requested by Dorkmo · project thread

Before: the repo had no record of the question "would a custom Gentoo build on the Portenta X8 make LifeTrac faster or help the H7?", and the OS-level follow-ups (tractor still on LmP 674, Linux reflashing bank 1 of the H747 at every boot, scattered custom-image needs) were not collected anywhere.

After: DESIGN-CONTROLLER/X8_OS_IMPROVEMENTS.md records the decision (stay on LmP; Gentoo gives no measurable speedup because the hot code runs in Debian containers and LoRa airtime dominates latency, and it has no effect on the H747) and lays out four ordered improvements with "done when" criteria. TODO.md Phase 1 gains a matching X8 Linux OS image — improvements (X8OS) section, and the DESIGN-CONTROLLER README links the new doc.

How: docs only. The four items are X8OS-1 (tractor onto LmP 934), X8OS-2 (CPU/boot/RAM baseline plus a tuned-container A/B), X8OS-3 (settle H747 flash ownership and the tractor_h7 linker overlap, override stm32h7-program.service), and X8OS-4 (one pinned custom LmP image when a TODO item forces it). Every repo link in the new doc was checked to resolve.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XNYM9uFdaVKbhNAjMkuShT


Generated by Claude Code

…X8OS-1..4

Adds X8_OS_IMPROVEMENTS.md, recording the 2026-10-13 analysis of a custom
Gentoo build for the Portenta X8: no measurable speedup (the hot code runs
in Debian containers, and LoRa airtime dominates latency) and no effect on
the H747. Lays out the four changes that do pay off: tractor onto LmP 934,
a CPU/boot/RAM baseline with a tuned-container A/B, settling H747 flash
ownership (stm32h7-program.service reflashes bank 1 at every boot), and one
pinned custom LmP image when a TODO item forces it.

Adds the matching X8OS-1..4 items to TODO.md Phase 1 and links the doc
from the DESIGN-CONTROLLER README.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XNYM9uFdaVKbhNAjMkuShT
Copilot AI balanced review requested due to automatic review settings October 13, 2026 15:17
@dorkmo dorkmo self-assigned this Oct 13, 2026
@dorkmo
dorkmo merged commit 38bc057 into main Oct 13, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The flash-service override could block cellular startup, and the proposed lock file cannot reproduce tuned artifacts.

3 open findings
What changed in this PR

Documents the X8 OS strategy: retain LmP, standardize on release 934, benchmark tuning, and resolve H747 flash ownership.

Changes:

  • Adds the X8 OS improvement plan and acceptance criteria.
  • Adds four X8OS tasks to the roadmap.
  • Links the plan from the controller README.
File Description
X8_OS_IMPROVEMENTS.md Defines the OS decision and improvement plan.
TODO.md Adds X8OS-1 through X8OS-4.
README.md Links the new plan.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread LifeTrac-v25/DESIGN-CONTROLLER/TODO.md
Comment thread LifeTrac-v25/DESIGN-CONTROLLER/X8_OS_IMPROVEMENTS.md
Comment thread LifeTrac-v25/DESIGN-CONTROLLER/X8_OS_IMPROVEMENTS.md
dorkmo pushed a commit that referenced this pull request Oct 13, 2026
…ned-wheel pinning)

X8OS-3: on LmP 934, m4-proxy.service and ModemManager declare
Requires=stm32h7-program.service (base board-state capture), so masking
the unit or letting a drop-in fail would take them down too. The override
must replace ExecStart with a step that exits 0, clear the x8h7
module-load ExecStartPre/Post, and handle each dependent on purpose.
Acceptance now requires the unit active, systemctl --failed empty, and
each dependent running or deliberately disabled.

X8OS-2: requirements.lock.txt holds only name==version, so it cannot tell
a tuned wheel from a stock one. Pin the tuned container by build recipe,
wheel sha256 and image digest instead.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XNYM9uFdaVKbhNAjMkuShT
dorkmo added a commit that referenced this pull request Oct 13, 2026
…yvt2uy

docs(X8OS): address Copilot review on #145 (h7-program dependents, tuned-wheel pinning)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants