3.5 KiB
Dasung integration validation
Development reference and historical context. For current operating instructions, use the user manual. Acceptance applies only to the source and artifacts identified in each record.
Documentation index · Integration and usage
Validated on 2026-09-20 on the x86_64 Arch development host. This records the FDS
port of the existing local dasungd; it is separate from the historical live
monitor validation in the imported source.
This is the original integration record. The subsequent rootfs build, emulated ARM execution, and integration rerun are recorded in M1 validation.
Commands completed successfully
make bootstrap
make smoke-test
make check
make dasung
make dasung-test
Bootstrap now fetches the locked workspace dependencies. A fresh empty Cargo cache had exposed that resolving the new workspace member also affects an offline build of the dependency-free smoketest; the bootstrap fetch addresses that setup requirement. The original dependency versions were retained; the workspace lock adds the smoketest member to the imported controller lock.
Checks performed
- Static AArch64 ELF validation of both the built daemon and the executable
extracted from its
aarch64XBPS package. No dynamic interpreter, shared-library requirements, or glibc symbol requirements were present. - Six imported unit tests: framing/reassembly, malformed streams, parameter and IPC validation, saved-setting reload, and exact EDID identity/checksum/clock.
- Pseudo-terminal monitor tests: late attachment, keepalive, fragmented replies, invalid settings, saved-setting replay, unplug/replug, duplicate-instance exclusion, reply watchdog recovery, restart, and forgetting settings.
- Native s6 execution of the packaged service graph in an isolated container with a read-only root and no exposed physical USB or display devices. Startup, logging, socket permissions, restart, and clean stop passed with no monitor. This used the x86_64 test build of the same source, not ARM emulation.
- Package contents, exact config/profile, mandatory base package selection, base boot-bundle membership, and compilation of packaged service sources.
- The original M0 ELF/source/overlay protections and Rust formatting checks.
Artifact identities
7a3daf7e7beadde7d4b0991a08af04952495e1ec155bd4a2e3605fb903dcc782 out/dasungd
9c33dc3808549016f388f409658abc3ba37ff0b8d05973dcf1d5f9f8dbd89e94 out/packages/fds-dasungd-0.1.0_1.aarch64.xbps
Package dependencies are coreutils, execline, s6, s6-rc, and eudev. The static executable does not add a shared musl, libusb, or libudev runtime dependency. The packet keepalive/pacing and confirmed 304210 kHz EDID are retained.
Local generated evidence: build log, test log, and artifact manifest. These outputs are ignored by Git and must be regenerated in a fresh checkout.
Not verified
There is no complete rootfs, native PID 1 deployment, Pi kernel/initramfs, or
bootable image yet. ARM runtime execution, Pi video/cabling, physical image quality,
early-boot display handoff, and corrected cold-power recovery were not tested.
The workstation's live display service and configuration were not changed.
Saved overrides use volatile /run until persistent machine storage is integrated.
The service test is not a boot or shutdown benchmark.