Files
fds-os/README.md
T

3.7 KiB

FDS/OS

FDS/OS is a Linux operating system for the Felis FP-85, a Raspberry Pi 5 computer with twelve USB cartridge bays and a Dasung Paperlike 13K display. It combines Void Linux packages, native s6 services and static Rust system tools with a simple cartridge workflow: insert software, run it, and eject it when finished.

How the system fits together

Component Purpose
Internal NVMe Holds boot files, recovery and persistent machine settings
SYSTEM cartridge Supplies the read-only operating system; swapping it changes the OS
PROGRAM cartridge Supplies applications and their dependencies, ready to execute
DATA cartridge Stores writable files at /data
ENVIRONMENT cartridge Selects an installed environment, such as WindowMaker

The default interface is a console. WindowMaker provides an optional grayscale retro desktop and an FDS Control panel for inspecting bays, launching programs and ejecting cartridges. The same theme is used on ordinary screens and E-Ink. The Dasung controller is part of the base system and starts independently of the desktop or any ENVIRONMENT cartridge.

Choose a starting point

The user manual is organized around tasks. Build internals, design decisions, hardware procedures and validation records live separately in developer notes.

A typical software session

These commands run on FDS after inserting the example PROGRAM cartridge in bay 1:

fds bays
fds bay 01
hello 'Hello from FDS'
fds run 01 -- demo.report:report
fds eject 01

hello runs in your current terminal. fds run starts a managed background command. Both forms are tracked for eject. Wait for SAFE before removing media; use fds poweroff to shut down the whole computer.

Build tools

Run these from the repository root:

Command Result
make workstation Arch fds-tools package containing both workstation commands
make workstation-install Install that package using pacman
make workstation-binaries Native commands for other Linux distributions
make bootstrap Prepares the complete OS build environment on x86_64 Arch Linux
make rootfs PROFILE=cli Builds the ARM base filesystem and its packages
make system-card PROFILE=cli Creates a whole-disk SYSTEM cartridge image
make initramfs Creates early boot userspace
make all Builds the complete CLI/development, recovery and internal image set
make clean Removes obsolete generated workspaces and Rust build output

New software cartridges are built from metadata and Void source packages using xbps-src on a Linux workstation. Their EROFS partitions contain installed programs and dependencies directly. FDS does not extract those programs at launch.

The workstation walkthrough includes prerequisites, complete example commands, expected outputs, emulator lifecycle and the confirmed USB-writing workflow. Append --help to either native tool for its command reference; run make help for the complete build target list.

Build identities come from Git release tags. See versioning for release, development and source-export behavior.