3.9 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
- Run on your Raspberry Pi 5: follow the real-hardware setup guide, including HDMI-plus-USB Dasung wiring, disk installation and first boot.
- Build and try the emulator: follow Build and start FDS.
- Build an application cartridge: use the software and emulator walkthrough.
- Use the computer: read Using cartridges, DATA, and the desktop guide.
- Install or maintain a machine: see internal storage, release verification, and recovery.
- Free build space: run
make clean-preview, thenmake clean; see cleanup.
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.