FDS/OS 1.0
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# FDS/OS implementation scope
|
||||
|
||||
Read `docs/master-plan.md` and `docs/build-host.md` before changing the build.
|
||||
The user has explicitly authorized implementation through M12. Proceed through
|
||||
the remaining milestones in order, keeping the repository buildable and recording
|
||||
actual acceptance evidence. Defer tests that require the physical Raspberry Pi
|
||||
or its attached hardware; implement the corresponding software and hardware-test
|
||||
procedures, and never substitute VM results for physical measurements.
|
||||
Empty future component directories are intentional until their implementation;
|
||||
do not fill them with placeholder implementations that claim to work.
|
||||
|
||||
The user explicitly authorized importing the existing Paperlike 13K `dasungd`
|
||||
into the base system. Its Rust workspace member, static ARM package, base package
|
||||
selection, and native s6 service are required throughout M0–M12. Keep it in the base boot bundle, independent of
|
||||
GUI or ENVIRONMENT cartridges. Read `docs/dasung.md` before changing it; do not
|
||||
claim Pi boot or physical power-cycle recovery is verified.
|
||||
|
||||
- Use English for all project-owned documentation, comments, diagnostics, task
|
||||
summaries, and conversation. Keep the master plan and build context in English.
|
||||
- General userspace and XBPS target architecture: aarch64 + glibc.
|
||||
- FDS executables: Rust + static aarch64-unknown-linux-musl by default.
|
||||
- Use Clap for every Rust command-line interface, including test helpers. Define
|
||||
commands and options with typed parsers; do not hand-parse argument vectors.
|
||||
- No systemd, runit, BusyBox, shell PID1, boot-time cache compilation, or sleeps
|
||||
to hide races in the target system.
|
||||
- Keep upstream Void files unchanged; pin its submodule and use `packages/` overlays.
|
||||
- Explain every new dependency and keep documentation accurate.
|
||||
- Run `make bootstrap`, `make smoke-test`, and `make check` for M0 build changes.
|
||||
Report skips and missing hardware honestly. Do not invent boot benchmarks.
|
||||
- Run `make rootfs PROFILE=cli` and `make rootfs-test` for M1 composition changes.
|
||||
M2 adds native init. Run `make init-test` to verify PID 1 and service control
|
||||
in the isolated ARM virtual machine. The VM kernel is a test fixture, not a Pi image.
|
||||
|
||||
# Workstation software and emulator follow-up
|
||||
|
||||
Read `docs/workstation.md`, `docs/software-format.md` and
|
||||
`docs/workstation-tooling-plan.md` for this extension. Software builds and new
|
||||
PROGRAM cartridge creation run on generic Linux workstations. The public native
|
||||
Clap tools are `fds-cartridge` and `fds-emulator`. Software images have GPT
|
||||
metadata partition 1 plus m EROFS payload partitions holding xz tarballs. Keep
|
||||
legacy reading and base Dasung integration. Do not mutate the frozen 0.1.0 release
|
||||
or treat its historical acceptance as evidence for changed sources. Validate
|
||||
with `make workstation-test` and `make emulator-test` plus relevant guest checks.
|
||||
Reference in New Issue
Block a user