Red Bear OS

Red Bear OS

A microkernel operating system written in Rust, derived from Redox OS

MIT x86_64 Status

--- ## What is Red Bear OS? Red Bear OS is a general-purpose, Unix-like operating system with a **microkernel architecture**, written in **Rust**. It is a full fork of Redox OS, frozen at release 0.1.0, with added hardware support, filesystem drivers, and a KDE Plasma desktop path. **Goals**: - **AMD & Intel parity** — first-class support for both platforms on bare metal - **KDE Plasma desktop** — Wayland-based desktop environment via the KWin compositor - **Hardware GPU acceleration** — AMD GPU (amdgpu) and Intel GPU drivers via `redox-drm` - **Modern subsystems** — USB, Wi‑Fi, Bluetooth, ext4, GRUB, D-Bus - **Offline-first builds** — reproducible from archived, BLAKE3-verified sources ## Our Git Server Red Bear OS lives on a self-hosted Gitea instance at **https://gitea.redbearos.org**. This is the canonical home for the fork — there is no GitHub / GitLab / Codeberg mirror that is authoritative. | Field | Value | |----------|------------------------------------------------------| | Host | `https://gitea.redbearos.org` | | User | `vasilito` | | Token | *(session-only — never stored in repo)* | | Web UI | `https://gitea.redbearos.org/vasilito` | | Main repo| `https://gitea.redbearos.org/vasilito/RedBear-OS` | > **Token policy.** The `vasilito` token is a per-session credential and **must > never** be committed to any tracked file. Use `git credential.helper` (store / > cache / libsecret), `~/.netrc`, or `$REDBEAR_GITEA_TOKEN` env var. See > [`local/AGENTS.md` § Our Git Server](./local/AGENTS.md) for the full operator > runbook, mirror list, API reference, and recovery procedure. ## Quick Start ### Prerequisites Linux x86_64 host with Rust nightly, QEMU, nasm, and standard build tools. See the [Redox Build Guide](https://doc.redox-os.org/book/podman-build.html) for full setup. ### Build & Run ```bash # Clone (read-only) git clone https://gitea.redbearos.org/vasilito/RedBear-OS.git cd RedBear-OS # Authenticated clone (one-off) — supply token via env var, not literal here git clone https://vasilito:${REDBEAR_GITEA_TOKEN}@gitea.redbearos.org/vasilito/RedBear-OS.git # Recommended: use the Red Bear wrapper ./local/scripts/build-redbear.sh redbear-mini # Text-only target ./local/scripts/build-redbear.sh redbear-full # Desktop-capable target # Boot in QEMU with the resulting image make qemu ``` > **Build script:** `local/scripts/build-redbear.sh` is the canonical entry point. Bare > `make all` works but bypasses the `.config` checking and `REDBEAR_ALLOW_PROTECTED_FETCH=1` > gates that `build-redbear.sh` enforces. See `AGENTS.md` § Build Commands for full details. ### Public Scripts | Script | Purpose | |--------|---------| | `local/scripts/build-redbear.sh` | **Canonical** build wrapper for redbear-mini/full/grub | | `scripts/run.sh` | Build and run in QEMU (`-b` to build, `-c ` for target) | | `scripts/build-iso.sh` | Build a live ISO for bare-metal boot | | `scripts/build-all-isos.sh` | Build all live ISO targets | | `scripts/network-boot.sh` | PXE network boot helper | | `scripts/dual-boot.sh` | Dual-boot installation helper | ### Config Targets | Target | Type | Description | |--------|------|-------------| | `redbear-full` | Desktop | Wayland + KDE + GPU drivers + D-Bus services | | `redbear-mini` | Console | Text-only recovery / install target | | `redbear-grub` | Console | Text-only with GRUB boot manager | ## Current Status Red Bear OS **boots to a login prompt** in QEMU with working wired networking, D-Bus system bus, hardware detection daemons, and filesystem support (RedoxFS, ext4, FAT). | Area | Status | |------|--------| | Boot (ACPI/x2APIC/SMP) | ✅ Bare-metal proven | | Userspace drivers (PCI, storage, net) | ✅ Working in QEMU | | D-Bus system bus + services | ✅ Working (login1, PolicyKit, UDisks, UPower) | | ext4 / FAT filesystems | ✅ Compiles, installer-wired | | POSIX gaps (relibc) | 🚧 Bounded Wayland-facing support | | DRM/KMS display drivers | 🚧 AMD + Intel compile; HW validation pending | | Wayland compositor | 🚧 Bounded proof; Qt6/KF6 clients crash at init | | KDE Plasma desktop | 🔄 In progress (Qt6/KF6 compile; KWin/QML blocked) | | Wi‑Fi / Bluetooth | 📋 Planned (architected, implementation pending) | ## How It Works Red Bear OS uses a **userspace driver model** — all drivers run as unprivileged daemons: ``` Kernel (microkernel) └── schemes: memory, irq, event, pipe, debug └── Driver daemons (userspace) ├── pcid → PCI enumeration ├── e1000d → Intel ethernet ├── xhcid → USB controller └── vesad → Display framebuffer ``` The kernel provides minimal services (memory, interrupts, IPC). Everything else — filesystems, networking, graphics, input — runs in userspace. ## Documentation - [Implementation Plan](docs/07-RED-BEAR-OS-IMPLEMENTATION-PLAN.md) — roadmap and execution model - [Desktop Path Plan](local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md) — kernel → DRM → Mesa → Wayland → KDE - [D-Bus Integration](local/docs/DBUS-INTEGRATION-PLAN.md) — session bus architecture - [USB Plan](local/docs/USB-IMPLEMENTATION-PLAN.md) — USB stack design - [Wi‑Fi Plan](local/docs/WIFI-IMPLEMENTATION-PLAN.md) — wireless architecture - [Bluetooth Plan](local/docs/BLUETOOTH-IMPLEMENTATION-PLAN.md) — BT stack design - [Documentation Index](docs/README.md) — full doc map ## Contributing Red Bear OS uses a **full fork** model. Upstream Redox sources are frozen and archived. All custom work lives in `local/`: ``` local/ ├── patches/ # Durable changes to upstream source trees ├── recipes/ # Custom packages (drivers, GPU, system) ├── docs/ # Integration and planning docs └── scripts/ # Build, test, and release tooling ``` We welcome contributions made with or without AI assistance — we care about **quality**, not how the code was produced. ## License [MIT](./LICENSE) — same as upstream Redox OS.