Files
fds-os/tools/release-readme.md
2026-09-24 13:54:28 +08:00

3.9 KiB

FDS/OS 0.1.0 local release

This directory contains versioned images, exact build inputs and a signed manifest. Physical Pi, NVMe, monitor and power validation is deferred. This release has not been installed or published automatically.

Verify the files first

Use an already trusted build of fds-release and a public key obtained through an independently trusted channel. The bundled signer.pub alone does not establish the publisher's identity. From the parent of this release directory:

/path/to/trusted/fds-release verify fds-os-0.1.0 --key /path/to/trusted/signer.pub

Substitute the actual directory name. Success reports VERIFIED FDS/OS 0.1.0 and checks every file listed in manifest.json. See RELEASE-VERIFICATION.md for the signature format and how to build the verifier from trusted source.

Choose the images

File Destination/purpose
fds-internal-0.1.0.img Complete internal NVMe disk: BOOT, independent RECOVERY and machine settings
fds-system-cli-0.1.0.img Removable SYSTEM cartridge with the ordinary FDS console and base Dasung controller
fds-system-development-0.1.0.img Alternative SYSTEM with native compilers, debugging tools and display diagnostics
fds-boot-0.1.0.img, fds-recovery-0.1.0.img Component partition payloads; normally use the complete internal disk above
fds-initramfs-0.1.0.cpio*, kernel and device-tree files Boot components already included in the internal disk
eeprom-production-* Reviewed EEPROM preparation/rollback files; the defaults are not a backup of your Pi
fds-*.xbps FDS base packages used to build the images; the running SYSTEM remains immutable

Use one internal disk and one of the two SYSTEM alternatives. Installation erases the selected target disks. Follow INSTALLATION.md for target identity, readback and first-boot steps, and EEPROM.md for the separately reviewed EEPROM procedure. The initial bay map is empty until actual wiring is calibrated.

Read the complete guides

After verifying the release, extract the source archive into a new directory inside this release directory:

mkdir source
tar --extract --zstd --same-permissions --no-same-owner \
  --file fds-source-0.1.0.tar.zst --directory source

Start with the project overview, installation, and everyday cartridge use. The complete manual is included under source/fds-os.wiki/. Page links use Gitea wiki names: for offline reading, open the corresponding .md file in that directory. The standalone guides are copies from the same wiki snapshot.

Rebuild from the preserved inputs

reproducibility.json records the comparison of the two independent builds. build-inputs.json lists the exact snapshot contents, and packages-*.json records each profile's package versions and hashes. The complete input archive includes the compiler/toolchain, package files and pinned Void source bundle; the smaller source archive alone does not provide those dependencies.

On the documented Arch build host, from this release directory:

mkdir inputs
tar --extract --zstd --same-permissions --no-same-owner \
  --file fds-build-inputs-0.1.0.tar.zst --directory inputs
python3 inputs/project/tools/frozen-inputs verify "$PWD/inputs"
python3 inputs/project/tools/frozen-inputs restore "$PWD/inputs" "$PWD/rebuild"
rebuild/tools/in-frozen-build make all >rebuild.log 2>&1

Use new directories and paths without whitespace. The restored build has its recorded modes preserved by --same-permissions; --no-same-owner keeps the files owned by the ordinary build user. Its compiler and package environment use their own caches and have no network access. Host prerequisites and additional comparison instructions are in Offline rebuilds. The private signing key is not included in this release or its input archive.