3
Developer Workstation Tooling Plan
Felis edited this page 2026-09-24 16:09:10 +08:00
Table of Contents
include_toc
include_toc
true

Workstation tooling plan

The current source of requirements is the active revision. The public tools remain native Linux Clap applications: fds-cartridge, fds-emulator and fds-flash. Full OS cross builds keep their separate pinned Void environment.

New software creation uses Void source templates and xbps-src. The image builder installs packages and dependencies on the workstation, verifies installed trees, and writes them directly into EROFS program partitions with format-2 metadata. Creation no longer generates xz software bundles. Legacy readers stay available.

The emulator still uses actual FDS ARM kernel/userspace, twelve virtual USB bays, read-only SYSTEM/PROGRAM disks, private writable DATA overlays, the public serial console, safe eject, forced removal and native shutdown. Hardware timing and physical behavior require the procedures in the hardware notes.

Acceptance must cover real source-package builds, image integrity and write/readback, foreground PATH commands and terminal behavior, background fds run, eject/unplug, service restart and the rendered X11 control panel. Keep the frozen 0.1.0 release unchanged. Build new matching artifacts and record their hashes and source inputs.

See user instructions and format reference for the supported interface. Historical xz acceptance remains in the earlier workstation record.

The Arch distribution package is fds-tools, built by make workstation and installed by make workstation-install. make workstation-binaries preserves the generic Linux build. Stopped emulator directories support a fresh boot while retaining logs, DATA overlays and archived cartridge mappings.

fds-flash consolidates workstation creation, inspection and flashing. It reuses the fds-burn library for prepared DATA/ENVIRONMENT/SYSTEM trees, with typed Clap create subcommands and native e2fsprogs/erofs-utils. inspect handles complete internal and cartridge images without a destination. The Pi's existing fds-burn worker and bay-control interface remain in the target package. New PROGRAM creation continues through fds-cartridge and installed Void trees.

fds-flash installs complete internal and cartridge GPT images. Its interactive mode requires terminal confirmation; unattended mode binds a specific image SHA-256 and target identity. Installation includes exclusive block access, readback, backup-GPT relocation and kernel partition refresh. The tool reuses existing Rust dependencies; it does not invoke shell disk-writing commands. See flashing and validate with make flash-test, make flash-vm-test, make workstation-test, make emulator-test and make workstation-package-test. Physical-drive behavior remains a separate gate.