Skip to content

docs: make the from-scratch build and rename path work for outside developers - #81

Merged
Rust-KVM merged 1 commit into
devfrom
claude/project-thread-4pn8ty
Oct 24, 2026
Merged

Rust-KVM merged 1 commit into
devfrom
claude/project-thread-4pn8ty

Conversation

@Rust-KVM

Copy link
Copy Markdown
Owner

Requested by 4c

Summary

Before: an outside developer following the README hit dev_deploy.sh first, which only builds with the self-built stage2 toolchain; getting-started.md described flashing an old buildkit artifact (update.img) and logging in as root over SSH, which the current firmware disables; the zh-CN README did not mention the devkit at all; and there was no guide for shipping a renamed build.

After: the README (both languages) leads with the Docker devkit, dev_deploy.sh falls back to the devkit when stage2 is missing, getting-started.md flashes the RustKVM image and turns on SSH through Settings → Security → SSH access and Settings → System → Developer mode, building.md carries measured disk/time figures and the WSL2 disk caveat, and the new docs/customizing.md covers hostname, UI name, USB descriptors, firmware version, root password and your own build images.

How

Found by a clean-room run: anonymous HTTPS clone into an empty directory with an empty HOME and DOCKER_CONFIG, anonymous pulls of both ghcr.io/rust-kvm images, scripts/devkit.sh run scripts/build-app.sh (passed first try, 7 min), a rename to mykvm (mDNS default, UI strings, USB manufacturer) and rebuild (passed, 5 min), scripts/devkit.sh firmware-image from scratch, and scripts/devkit.sh firmware patch build collect with FW_VERSION=0.1.0-mykvm (passed, 7 min; the image embeds the renamed binary, sha256 checked). All 14 pinned SDK commits were fetched anonymously from github.com/friendlyarm; the full 40 GB SDK sync itself was not repeated for lack of disk, the build reused the existing SDK checkout.

Two small non-doc fixes: build-firmware.sh deletes the previous dated raw images before packing (two ~8 GB files were left behind per build day), and the MQTT discovery release_url pointed at the old foxxcn/rustkvm repository.

Testing

  • cargo +nightly fmt --all (check)
  • cargo +nightly clippy --workspace --release --all-targets -- -D warnings (CI)
  • cargo +nightly test --workspace (CI)
  • Frontend touched: not applicable (docs only on the frontend side)
  • Tested on an RK3588 device: not applicable, no device was touched

Checklist

  • No #[allow(...)] suppressions and no new unwrap() / expect() in production paths
  • Hot paths stay zero-copy; periodic loops use MissedTickBehavior::Delay
  • Shared protocol types live in rkvm-proto
  • RPC method set changed → not applicable
  • Module tree or build invariants changed → not applicable

🤖 Generated with Claude Code

A clean-room run (anonymous clone, public ghcr images, no local toolchain
or credentials) built the app and the firmware, but several documented
steps assumed the reference workbench:

- dev_deploy.sh only built with the self-built stage2 toolchain; it now
  falls back to the Docker devkit and deploys out/app/.
- getting-started.md described the old buildkit artifact / update.img
  flow and root SSH; it now flashes the RustKVM image and turns on SSH
  through Settings (SSH access + developer mode).
- README and README.zh-CN put dev_deploy.sh first and required stage2;
  they now lead with the devkit, note that no login is needed, and show
  how to use the pinned nightly and the published buildkit without stage2.
- building.md: measured disk and time, WSL2 disk lives on C:, the
  firmware builder image is built locally from Docker Hub ubuntu:22.04.
- New docs/customizing.md: hostname, UI name, USB descriptors, firmware
  version, root password and own build images.
- build-firmware.sh removes the previous dated raw images before packing
  (two ~8 GB files per build day were never cleaned up).
- MQTT discovery release_url pointed at the old foxxcn repository.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added documentation Improvements or additions to documentation build Toolchain, cross-compilation and packaging area: api JSON-RPC, HTTP routes, MCP, MQTT labels Oct 24, 2026
@Rust-KVM Rust-KVM self-assigned this Oct 24, 2026
@Rust-KVM
Rust-KVM marked this pull request as ready for review October 24, 2026 10:00
@Rust-KVM
Rust-KVM merged commit 153d20b into dev Oct 24, 2026
8 checks passed
@Rust-KVM
Rust-KVM deleted the claude/project-thread-4pn8ty branch October 24, 2026 10:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: api JSON-RPC, HTTP routes, MCP, MQTT build Toolchain, cross-compilation and packaging documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants