d26675708e
L1: Add make qemu-ram target — copies disk image to host tmpfs before
QEMU boots, eliminating host disk I/O during OS runtime.
Usage: make qemu-ram CONFIG_NAME=redbear-full QEMU_MEM=12288
L2: Create local/recipes/AGENTS.md — comprehensive catalog of all 165
custom recipes across 15 categories with descriptions.
L3: CollisionTracker already fully implemented and wired into installer
(recipes/core/installer/source/src/collision.rs, 267 lines).
L4: Add scripts/validate-collision-log.sh to make validate target —
scans build logs for [COLLISION-ERROR]/[COLLISION-WARN] markers
from the runtime CollisionTracker.
17 KiB
17 KiB
Red Bear OS Custom Recipes — Catalog
All recipes under local/recipes/ are Red Bear OS originals or patched forks of upstream
Redox recipes. They are symlinked into recipes/<category>/ at build time via
local/scripts/apply-patches.sh.
Convention: recipe directories contain recipe.toml (build instructions) and optionally
source/ (source code for Rust cargo or custom templates). Patches for upstream sources
live in local/patches/<component>/, never here.
archives
| Recipe | Template | Language | Description |
|---|---|---|---|
| uutils-tar | cargo | Rust | GNU tar compatible archiver from uutils, for creating and extracting tar archives |
branding
| Recipe | Template | Language | Description |
|---|---|---|---|
| redbear-release | custom | Shell | OS release metadata: /etc/os-release, hostname, and branding assets |
core
| Recipe | Template | Language | Description |
|---|---|---|---|
| ext4d | custom | Rust | ext4 filesystem driver daemon (userspace, scheme-based) |
| fatd | custom | Rust | FAT32 filesystem driver daemon (userspace, scheme-based) |
| grub | custom | Scripts | GRUB boot manager integration for live ISO and bare-metal installs |
| pcid-spawner | cargo | Rust | PCI device spawner — launches driver daemons on PCI device discovery |
dev
| Recipe | Template | Language | Description |
|---|---|---|---|
| binutils-native | custom | C | GNU binutils (ld, objdump, etc.) built for native Red Bear target |
| bison | custom | C | GNU bison parser generator |
| cub | custom | Rust | Red Bear build utility — build orchestration helper |
| flex | custom | C | Fast lexical analyzer generator |
| gcc-native | custom | C | GCC cross-compiler for native Red Bear target |
| gnu-make | custom | C | GNU Make build tool |
| libtool | custom | C | GNU libtool — generic library support script |
| llvm-native | custom | C++ | LLVM/Clang toolchain built for native Red Bear target |
| m4 | custom | C | GNU m4 macro processor |
| meson | custom | Python | Meson build system |
| ninja-build | custom | C | Ninja build system (small, fast build runner) |
| rust-native | custom | Rust | Rust toolchain for native Red Bear builds |
drivers
| Recipe | Template | Language | Description |
|---|---|---|---|
| ehcid | cargo | Rust | EHCI (USB 2.0) host controller driver daemon |
| linux-kpi | custom | C headers | Linux Kernel Programming Interface — C header shim translating Linux kernel APIs to redox-driver-sys. GPU and Wi-Fi only — no USB support |
| ohcid | cargo | Rust | OHCI (USB 1.1) host controller driver daemon |
| redbear-btusb | custom | Rust | Bluetooth USB transport driver — sends/receives HCI packets over USB |
| redbear-input-headers | custom | C headers | Linux-compatible input event headers (input.h, evdev constants) for driver and compositor use |
| redbear-iwlwifi | cargo | Rust | Intel Wi-Fi driver (iwlwifi port) — mac80211-based wireless networking |
| redox-driver-acpi | cargo | Rust | ACPI driver — parses RSDP/SDT/MADT/FADT tables, exposes scheme:acpi |
| redox-driver-core | cargo | Rust | Core driver traits and types shared across all redox-driver-* crates |
| redox-driver-pci | cargo | Rust | PCI bus driver — enumerates PCI devices, exposes scheme:pci, provides config space access |
| redox-driver-sys | custom | Rust | Safe Rust FFI wrappers for scheme:memory, scheme:irq, scheme:pci + hardware quirks system |
| uhcid | cargo | Rust | UHCI (USB 1.1) host controller driver daemon |
| usb-core | cargo | Rust | USB core stack — hub driver, device enumeration, transfer scheduling |
gpu
| Recipe | Template | Language | Description |
|---|---|---|---|
| amdgpu | custom | C | AMD GPU display core (DC) port with linux-kpi compat shim |
| redox-drm | cargo | Rust | DRM/KMS scheme daemon — GPU driver manager, supports virtio-gpu, Intel, AMD. Auto-detects hardware and loads correct driver |
groups
| Recipe | Template | Language | Description |
|---|---|---|---|
| build-essential-native | custom | Meta | Meta-package group: compiler, linker, make, and core build tools for native development |
kde
| Recipe | Template | Language | Description |
|---|---|---|---|
| breeze | custom | C++ | KDE Breeze widget style and window decoration theme |
| kde-cli-tools | custom | C++ | KDE command-line utilities (kde-open, kioclient, etc.) |
| kdecoration | custom | C++ | KDE window decoration library — decoration plugin API for KWin |
| kf6-attica | custom | C++ | KDE Frameworks 6 — Open Collaboration Services API (GHNS) |
| kf6-extra-cmake-modules | custom | CMake | KDE Frameworks 6 — Extra CMake Modules (build system extensions) |
| kf6-karchive | custom | C++ | KDE Frameworks 6 — archive handling (tar, zip, etc.) |
| kf6-kauth | custom | C++ | KDE Frameworks 6 — authorization framework (PolicyKit integration) |
| kf6-kbookmarks | custom | C++ | KDE Frameworks 6 — bookmark management (XBEL format) |
| kf6-kcmutils | custom | C++ | KDE Frameworks 6 — KCModule utilities for System Settings |
| kf6-kcodecs | custom | C++ | KDE Frameworks 6 — string encoding/decoding (base64, uuencode, etc.) |
| kf6-kcolorscheme | custom | C++ | KDE Frameworks 6 — color scheme management |
| kf6-kcompletion | custom | C++ | KDE Frameworks 6 — text completion widgets and utilities |
| kf6-kconfig | custom | C++ | KDE Frameworks 6 — configuration file framework (INI, JSON) |
| kf6-kconfigwidgets | custom | C++ | KDE Frameworks 6 — configuration-aware widgets |
| kf6-kcoreaddons | custom | C++ | KDE Frameworks 6 — core utilities (KAboutData, KJob, KProcess) |
| kf6-kcrash | custom | C++ | KDE Frameworks 6 — crash handler with DrKonqi integration |
| kf6-kdbusaddons | custom | C++ | KDE Frameworks 6 — D-Bus convenience classes |
| kf6-kdeclarative | custom | C++ | KDE Frameworks 6 — KDE QtQuick integration plugins |
| kf6-kded6 | custom | C++ | KDE Frameworks 6 — background service daemon (kded6) |
| kf6-kglobalaccel | custom | C++ | KDE Frameworks 6 — global keyboard shortcut registration |
| kf6-kguiaddons | custom | C++ | KDE Frameworks 6 — GUI utilities (color picker, key sequence) |
| kf6-ki18n | custom | C++ | KDE Frameworks 6 — internationalization (gettext integration) |
| kf6-kiconthemes | custom | C++ | KDE Frameworks 6 — icon theme management and rendering |
| kf6-kidletime | custom | C++ | KDE Frameworks 6 — idle time detection for screensaver/power |
| kf6-kio | custom | C++ | KDE Frameworks 6 — I/O framework (KIO slaves for network/FS access) |
| kf6-kitemmodels | custom | C++ | KDE Frameworks 6 — Qt model extensions (KRearrangeColumns, KSortFilter) |
| kf6-kitemviews | custom | C++ | KDE Frameworks 6 — item view widgets (KFilterProxy, KCategoryDrawer) |
| kf6-kjobwidgets | custom | C++ | KDE Frameworks 6 — async job tracking widgets |
| kf6-knewstuff | custom | C++ | KDE Frameworks 6 — Get Hot New Stuff (GHNS) download framework |
| kf6-knotifications | custom | C++ | KDE Frameworks 6 — system notification framework |
| kf6-kpackage | custom | C++ | KDE Frameworks 6 — package/installation framework |
| kf6-kservice | custom | C++ | KDE Frameworks 6 — service/plugin framework (mime type, .desktop parsing) |
| kf6-ksvg | custom | C++ | KDE Frameworks 6 — SVG rendering with theme support |
| kf6-ktextwidgets | custom | C++ | KDE Frameworks 6 — text editing widgets (KTextEdit, find/replace) |
| kf6-kwallet | custom | C++ | KDE Frameworks 6 — secure credential storage |
| kf6-kwayland | custom | C++ | KDE Frameworks 6 — Wayland protocol bindings for Qt/KDE |
| kf6-kwidgetsaddons | custom | C++ | KDE Frameworks 6 — extra Qt widgets (KComboBox, KPageWidget) |
| kf6-kwindowsystem | custom | C++ | KDE Frameworks 6 — window system integration (window info, stacking) |
| kf6-kxmlgui | custom | C++ | KDE Frameworks 6 — XML-defined GUI (menus, toolbars, actions) |
| kf6-notifyconfig | custom | C++ | KDE Frameworks 6 — notification configuration widgets |
| kf6-parts | custom | C++ | KDE Frameworks 6 — embeddable document/viewer parts (KParts) |
| kf6-prison | custom | C++ | KDE Frameworks 6 — barcode/QR code generation (QRencode wrapper) |
| kf6-pty | custom | C++ | KDE Frameworks 6 — pseudoterminal (PTY) management |
| kf6-solid | custom | C++ | KDE Frameworks 6 — hardware abstraction (storage, power, network) |
| kf6-sonnet | custom | C++ | KDE Frameworks 6 — spell checking framework |
| kf6-syntaxhighlighting | custom | C++ | KDE Frameworks 6 — syntax highlighting engine (Kate definitions) |
| kglobalacceld | custom | C++ | KDE global shortcut daemon — handles keyboard shortcut registration |
| kirigami | custom | C++ | KDE Kirigami — responsive QtQuick UI framework (convergent apps) |
| konsole | custom | C++ | KDE Konsole — terminal emulator |
| kwin | custom | C++ | KDE KWin — Wayland compositor and window manager |
| plasma-desktop | custom | C++ | KDE Plasma Desktop — panels, desktop containment, applets |
| plasma-framework | custom | C++ | KDE Plasma Framework — libplasma for Plasma shell and applets |
| plasma-wayland-protocols | custom | C++ | KDE Plasma Wayland protocol extensions |
| plasma-workspace | custom | C++ | KDE Plasma Workspace — plasma-shell, data engines, runners |
libs
| Recipe | Template | Language | Description |
|---|---|---|---|
| freetype2 | custom | C | FreeType 2 font rendering library |
| glib | custom | C | GLib — core event loop, type system, utility functions |
| icu | custom | C++ | ICU — Unicode and internationalization support |
| lcms2 | custom | C | Little CMS 2 — color management library |
| lcms2-stub | custom | C | Minimal lcms2 stub — provides symbols without implementation |
| libdisplay-info | custom | C | EDID and display descriptor parsing library |
| libdisplay-info-stub | custom | C | Minimal libdisplay-info stub for compile-time satisfaction |
| libdrm | meson | C | libdrm — DRM/KMS user-space library with Red Bear patches for render node and virtio-gpu support |
| libepoxy | custom | C | Epoxy — OpenGL function pointer manager (cross-platform GL loader) |
| libepoxy-stub | custom | C | Minimal libepoxy stub — provides symbols without implementation |
| libevdev | meson | C | libevdev — evdev device wrapper library for input handling |
| libinput | meson | C | libinput — input device management (keyboard, pointer, touch) |
| libqrencode | cmake | C | libqrencode — QR code encoding library |
| libudev-stub | custom | C | Minimal libudev stub — provides symbols for udev-dependent builds |
| libxcvt | custom | C | libxcvt — VESA CVT mode timing calculation |
| libxcvt-stub | custom | C | Minimal libxcvt stub — provides symbols without implementation |
| zbus | custom | Rust | zbus crate — Rust D-Bus message bus library (library-only, custom build) |
qt
| Recipe | Template | Language | Description |
|---|---|---|---|
| qt6-sensors | custom | C++ | Qt 6 Sensors module — hardware sensor access (accel, gyro, etc.) |
| qtbase | custom | C++ | Qt 6 Base — core, gui, widgets, network modules |
| qtdeclarative | custom | C++ | Qt 6 QML/QtQuick — declarative UI framework |
| qtsvg | custom | C++ | Qt 6 SVG — SVG rendering support for Qt |
| qtwayland | custom | C++ | Qt 6 Wayland — Wayland compositor/client integration |
system
| Recipe | Template | Language | Description |
|---|---|---|---|
| coretempd | cargo | Rust | CPU core temperature monitoring daemon |
| cpufreqd | cargo | Rust | CPU frequency scaling daemon |
| cub | custom | Rust | Red Bear build utility (same as dev/cub, system-installed copy) |
| dbus | meson | C | D-Bus reference implementation — system and session message bus |
| driver-manager | custom | Rust | Driver lifecycle manager — loads/unloads drivers based on hardware |
| driver-params | cargo | Rust | Driver parameter service — exposes driver configuration via scheme |
| evdevd | custom | Rust | evdev event daemon — translates input events to evdev protocol |
| firmware-loader | cargo | Rust | Firmware loading daemon — serves GPU/device firmware blobs via scheme:firmware |
| hwrngd | cargo | Rust | Hardware RNG daemon — exposes entropy from hardware random number generator |
| iommu | cargo | Rust | IOMMU daemon — manages I/O memory mapping for device DMA |
| numad | cargo | Rust | NUMA topology daemon — exposes NUMA node information |
| redbear-accessibility | custom | Rust | Accessibility service — screen reader and input assistance bridge |
| redbear-acmd | cargo | Rust | Red Bear admin CLI — system administration commands |
| redbear-authd | cargo | Rust | Authentication daemon — PAM-like auth with scheme:auth |
| redbear-btctl | custom | Rust | Bluetooth control utility — scan, pair, connect Bluetooth devices |
| redbear-dbus-services | custom | Config | D-Bus service activation files and XML policy files for system/session buses |
| redbear-ecmd | cargo | Rust | Extended command-line tool — system diagnostics and info |
| redbear-firmware | custom | Scripts | Firmware management utility — list, extract, verify firmware blobs |
| redbear-greeter | custom | Rust | Login greeter daemon — displays graphical login prompt |
| redbear-hwutils | cargo | Rust | Hardware utility library and CLI — PCI, USB, sensor information |
| redbear-ime | custom | Rust | Input method engine — multilingual text input framework |
| redbear-info | cargo | Rust | System information daemon — hardware and OS state queries |
| redbear-keymapd | custom | Rust | Keyboard layout daemon — manages keymaps and input layouts |
| redbear-login-protocol | cargo | Rust | Login protocol crate — shared types for auth session management |
| redbear-meta | custom | Meta | Meta-package — ensures core Red Bear system packages are installed |
| redbear-mtr | cargo | Rust | MTR network diagnostic tool — traceroute + ping combined |
| redbear-netctl | cargo | Rust | Network control daemon — manages network interfaces and connections |
| redbear-netctl-console | cargo | Rust | Network control console UI — TUI for redbear-netctl |
| redbear-netstat | cargo | Rust | Network statistics tool — socket, interface, and routing info |
| redbear-nmap | cargo | Rust | Network mapper — port scanning and host discovery |
| redbear-notifications | cargo | Rust | Notification daemon — freedesktop.org notification spec implementation |
| redbear-passwd | cargo | Rust | Password management utility — change passwords, manage shadow |
| redbear-polkit | cargo | Rust | PolicyKit daemon — authorization framework for privileged operations |
| redbear-quirks | custom | Config | Hardware quirks database — TOML quirk definitions for known issues |
| redbear-sessiond | cargo | Rust | Session manager daemon — D-Bus login1 subset for KWin/Wayland |
| redbear-session-launch | cargo | Rust | Session launcher — starts desktop session compositor and services |
| redbear-statusnotifierwatcher | cargo | Rust | Status Notifier Watcher — freedesktop.org system tray spec |
| redbear-traceroute | cargo | Rust | Traceroute utility — network path discovery |
| redbear-udisks | cargo | Rust | UDisks2 daemon — storage device management via D-Bus |
| redbear-upower | cargo | Rust | UPower daemon — power management and battery status via D-Bus |
| redbear-usbaudiod | cargo | Rust | USB audio daemon — USB audio class device driver |
| redbear-wayland-guard | custom | Rust | Wayland security guard — validates compositor/client permissions |
| redbear-wifictl | cargo | Rust | Wi-Fi control utility — scan, connect, manage wireless networks |
| seatd | meson | C | seatd — seat management daemon for DRM master access |
| thermald | cargo | Rust | Thermal management daemon — monitors and controls CPU temperature |
| udev-shim | cargo | Rust | udev compatibility shim — translates libudev calls to Red Bear schemes |
tests
| Recipe | Template | Language | Description |
|---|---|---|---|
| redox-drm-prime-test | custom | Rust | DRM PRIME buffer sharing test — validates GPU buffer import/export |
| relibc-phase1-tests | custom | C | relibc POSIX compliance tests — validates syscall wrappers and C library functions |
tools
| Recipe | Template | Language | Description |
|---|---|---|---|
| diffutils | custom | C | GNU diffutils — diff, diff3, sdiff, cmp |
tui
| Recipe | Template | Language | Description |
|---|---|---|---|
| mc | custom | C | GNU Midnight Commander — file manager with TUI |
wayland
| Recipe | Template | Language | Description |
|---|---|---|---|
| libwayland | custom | C | libwayland — Wayland protocol client/server library |
| qt6-wayland-smoke | custom | C++ | Qt 6 Wayland smoke test — minimal QML window on Wayland |
| redbear-compositor | cargo | Rust | Red Bear Wayland compositor — compositor shell for DRM/KMS output |
| seatd-redox | meson | C | seatd Redox backend — seat management for Red Bear's scheme system |
| smallvil | cargo | C | Smallvil — minimal wlroots-based Wayland compositor for testing |
| wayland-protocols | custom | C | Wayland protocol extensions — stable and staging protocol XML files |