Overview
Bastion is a minimal, supervised, remotely-operable operating system written in Rust against an internal-only dependency budget — zero external crates. The primary deployment surface is bare-metal x86-64 hardware; a portable bytecode runtime (BMR) lets the same Substrate programs run on macOS and other hosts when bare-metal isn't available. The work is structured into three crates: a kernel library (CPU, filesystem, syscall dispatch, audit), a runtime layer (boot harness, operator shell, remote console), and a controlled language (Substrate) used to describe processes that run on the kernel.
Bastion is long-horizon systems work, not a near-term product. Its audience is environments where deterministic execution, auditability, and a small attack surface matter more than ecosystem breadth. See the Bastion research perspective for deeper detail on the x86-64 implementation.
Components
-
x86-64 native kernel
Primary target. Bastion boots on real x86-64 hardware via UEFI, with a hand-written assembly machine core, interrupt tables, context switching, syscall trampolines, and atomics. Driver work covers Ethernet (TCP/IPv4/ARP, guarded TCP shell, live kernel push), framebuffer, PCI, DMA allocation, serial, PS/2 keyboard, ACPI, and USB controllers.
-
BMR portable VM
Custom instruction set with a register file, program counter, and syscall trap. Lets Substrate programs run on macOS and other hosts when bare-metal x86-64 isn't available — useful for development and testing. The kernel never executes arbitrary native code from user programs.
-
BFS filesystem
Journaling filesystem with A/B superblock mirroring, write-staged commit markers, block integrity checks, fsck, and a bad-block table. Fixed-capacity heap-free structures throughout.
-
IPS, KRC, SABI, BSEC
Inter-process services (init, worker, logger, heartbeat, input handler, utility execution), the kernel resource context that ties CPU + filesystem + devices + audit together, the syscall ABI separating Substrate bytecode from the kernel, and the security core (audit log and access control primitives).
-
MCLI and NET
The operator shell runs over stdin/stdout locally or over a guarded TCP console (shared-secret auth, constant-time compare, idle timeout, session logging).
-
Substrate language
A flat, statement-based process description language with a parser, AST, and bytecode emitter. The Substrate compiler is being progressively self-hosted; the bootstrap roadmap tracks the gap between the Rust reference compiler and the in-language self-host.
Current focus
Active work is on the x86-64 native path, including 802.11 wireless driver development. A dedicated development workstation is now in place, so hands-on kernel and driver work has resumed after a standstill. Substrate self-host milestones continue in parallel. Bastion moves at a slower cadence than Forge by design — it's systems-level research, not a shipping product.
Project log
-
Development hardware in place; work resumes
A dedicated x86-64 workstation is now available for Bastion development, ending the standstill that had paused hands-on kernel and driver work. Active focus is the 802.11 wireless driver path on real hardware. Progress will be steady rather than fast — Bastion is long-horizon systems work, not a shipping product timeline.
-
Project page expanded
Bastion's page now describes the kernel, filesystem, runtime, and Substrate language layers, and records the current hardware standstill honestly.
-
Public status established
Bastion is now tracked as a project with a log source and a separate research note for deeper systems detail.
Documents
- Research note Read Bastion research note
-
Papers
Reserved for long-form systems memos.
- Inquiries