Eigenständiger Kernel
Kein Linux-, BSD- oder Redox-Kernel darunter. BoringKernel besitzt den x86_64-Ausführungspfad des Projekts selbst.
Ein eigenständiges experimentelles Desktop-Betriebssystem von Grund auf — keine Linux-Distribution, kein BSD-Userspace und kein Wrapper um einen fremden Kernel. BoringOS ist ein eigener Kernel, ein eigener nativer Userspace und ein bewusst kleiner Weg hin zu einem eigenen Desktop. boring is not a bug. it's the entire operating system now.
Aktuelle Referenzplattform: QEMU x86_64 mit Limine. Echte Hardware kommt später, wenn Plattform- und Storage-Schichten langweilig genug geworden sind.
Das Projekt wächst Schicht für Schicht. Jede neue Fähigkeit muss die bisherigen QEMU-Acceptance-Gates grün halten, statt sie durch eine neue Demo zu ersetzen.
Kein Linux-, BSD- oder Redox-Kernel darunter. BoringKernel besitzt den x86_64-Ausführungspfad des Projekts selbst.
Native Programme nutzen eine BoringOS-eigene Runtime: keine Host-libc, kein CRT, kein Dynamic Linker und kein PIE.
Userspace läuft in CPL3 mit getrennten Address Spaces, TSS.RSP0 und einer geprüften nativen SYSCALL/SYSRETQ-Grenze.
Die Shell verändert den tatsächlichen RAMFS-Namespace über Userspace-Syscalls, Prozess-CWD und den generischen VFS.
Normalboot, Faults, Ring 3, Syscalls, ELF, Runtime, Console, VFS, RAMFS, Init und Shell bleiben als Regressionstest erhalten.
Der lange Weg führt zu Framebuffer/Input, einem kleinen nativen Display-Protokoll, BoringWM, Terminal-Clients und später echten Anwendungen.
Der Milestone-17-Test grept keine Fake-Liste. Er injiziert Befehle über die serielle Konsole und prüft spätere unabhängige FS_READDIR-Ausgabe aus dem echten RAMFS.
boring-init läuft als PID 1 in CPL3. Es betritt den LAUNCH-Syscall, der Kernel bereitet einen unabhängigen PID-2-Address-Space vor, vererbt die retained VFS-CWD und verwandelt den aktiven Trusted-Syscall-Return-Frame in den Shell-Handoff.
Die öffentliche Roadmap bildet den Repository-Stand ab. „Geplant“ wird nicht als implementiert verkauft. Milestone 18 läuft aktuell und befindet sich noch im Closeout.
Speicher, Interrupts, Scheduling, Prozesse und Ring 3.
Programme laden, mit dem Kernel sprechen, echten Namespace mounten und den Prompt erreichen.
Eine exakte Interpretation des On-Disk-Formats etablieren, bevor der Kernel Storage berührt.
Erst wenn das Format-Tooling sitzt, fasst der Kernel echte persistente Filesystem-Blöcke an.
Milestone 18 stoppt bewusst vor einem Filesystem-Mount. Er definiert und validiert das exakte Byteformat, das spätere Tools und Kernelcode gemeinsam nutzen sollen.
Der Codec nutzt explizite Little-Endian-Loads/Stores statt gepackter nativer C-Structs. Der Validator arbeitet auf caller-provided Byte-Buffern und prüft Layout, Bitmap-Ownership, Objekte, Extents, Directories, UTF-8-Namen, Referenzen, Zyklen, Leaks, Overlaps und Truncation.
Aktueller M18-Scope: Codec + read-only Structural Validator. Noch kein Formatter-CLI, kein fsck-CLI, kein Blocktreiber und kein Kernel-Mount.
BoringOS ist experimentell, aber geplante Schichten werden nicht als bereits implementiert dargestellt.
BoringOS ist ein eigenständiges OS-Projekt. Linux, BSD oder andere Kernel bilden nicht die endgültige Ausführungsbasis.
BoringOS-eigene Komponenten sind primär C; kleine isolierte x86_64-Assembly-Stücke bleiben Architekturgrenzen vorbehalten.
Acceptance bevorzugt beobachtbaren Runtime-State: echte Privilegwechsel, echte User-Memory-Prüfung, echte Namespace-Mutationen und spätere unabhängige Beobachtung.
Die aktuelle Shell hat bewusst noch keine numerische FD-Tabelle und keine stdin/stdout/stderr-Abstraktion. Schnittstellen kommen erst, wenn die Architektur sie wirklich braucht.
BoringFS bekommt erst einen exakten Codec und Korruptionsvalidator, bevor Formatter-Tools, Block-I/O oder ein Kernel-Filesystem-Backend entstehen.
Nach persistentem nativem Storage kann der Weg zu Framebuffer/Input, kompaktem Display-Protokoll, nativem BoringWM und echten grafischen Clients weitergehen.
Source, Architektur-Notizen, BoringFS-Formatspezifikation und die maßgebliche Milestone-Roadmap liegen im öffentlichen GitHub-Repository.