update doc structure
This commit is contained in:
@@ -1,78 +1,23 @@
|
||||
# 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.
|
||||
FDS/OS is a cartridge-based Linux system for the Felis FP-85: Raspberry Pi 5,
|
||||
twelve USB cartridge bays and a Dasung Paperlike 13K display. It uses Void Linux
|
||||
packages, native s6 services and static Rust system tools. The Dasung daemon is
|
||||
included in the base system; WindowMaker is an optional desktop.
|
||||
|
||||
## How the system fits together
|
||||
The **[Gitea wiki](http://gitea.home.arpa/felis/fds-os/wiki/Home)** is the complete,
|
||||
authoritative manual:
|
||||
|
||||
| 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 |
|
||||
- [Project overview](http://gitea.home.arpa/felis/fds-os/wiki/Overview)
|
||||
- [Run on real hardware, including HDMI + USB wiring](http://gitea.home.arpa/felis/fds-os/wiki/Hardware-Setup)
|
||||
- [Build the OS and start the emulator](http://gitea.home.arpa/felis/fds-os/wiki/Getting-Started)
|
||||
- [Build software cartridges and use workstation tools](http://gitea.home.arpa/felis/fds-os/wiki/Workstation)
|
||||
- [Use cartridges](http://gitea.home.arpa/felis/fds-os/wiki/Cartridges), [DATA](http://gitea.home.arpa/felis/fds-os/wiki/Data) and [the desktop](http://gitea.home.arpa/felis/fds-os/wiki/Desktop)
|
||||
- [Developer guide and acceptance records](http://gitea.home.arpa/felis/fds-os/wiki/Developer-Guide)
|
||||
|
||||
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](docs/hardware-setup.md), including HDMI-plus-USB Dasung wiring, disk installation and first boot.
|
||||
- **Build and try the emulator:** follow [Build and start FDS](docs/getting-started.md).
|
||||
- **Build an application cartridge:** use the [software and emulator walkthrough](docs/workstation.md).
|
||||
- **Use the computer:** read [Using cartridges](docs/cartridges.md), [DATA](docs/data.md), and [the desktop guide](docs/desktop.md).
|
||||
- **Install or maintain a machine:** see [internal storage](docs/internal-storage.md), [release verification](docs/releases.md), and [recovery](docs/recovery.md).
|
||||
- **Free build space:** run `make clean-preview`, then `make clean`; see [cleanup](docs/cleanup.md).
|
||||
|
||||
The [user manual](docs/README.md) is organized around tasks. Build internals,
|
||||
design decisions, hardware procedures and validation records live separately in
|
||||
[developer notes](docs/developer/README.md).
|
||||
|
||||
## A typical software session
|
||||
|
||||
These commands run on FDS after inserting the example PROGRAM cartridge in bay 1:
|
||||
|
||||
```sh
|
||||
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](docs/developer/versioning.md) for release, development and source-export behavior.
|
||||
The same pages live in the `fds-os.wiki` Git submodule. Initialize it in an existing
|
||||
checkout with `git submodule update --init fds-os.wiki`, or clone this repository
|
||||
with `--recurse-submodules`. Edit those pages directly; there is no separate manual
|
||||
to synchronize or export. See [Editing the wiki](http://gitea.home.arpa/felis/fds-os/wiki/Gitea-Wiki)
|
||||
for the Git workflow and page conventions. `make wiki-check` checks local links;
|
||||
`make help` lists build commands.
|
||||
|
||||
Reference in New Issue
Block a user