Rename rbos → redbear everywhere, add redbear-info system tool

Replace all 'rbos'/'RBOS' references with 'redbear'/'Red Bear OS'
across the build system, scripts, docs, and configs. Renamed files:
  rbos.ipxe → redbear.ipxe
  assets/rbos-icon.png → assets/redbear-icon.png
  recipes/system/rbos-info → recipes/system/redbear-info

Added redbear-info: a system tool that enumerates all Red Bear OS
custom components, checks runtime availability via scheme paths and
binary presence, and prints status/test info. Supports --verbose,
--json, and --test output modes. Zero external dependencies.
This commit is contained in:
2026-04-12 19:46:54 +01:00
parent 50b731f1b7
commit 43fd088349
36 changed files with 686 additions and 101 deletions
+11 -11
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# apply-patches.sh — Apply all RBOS patches on top of upstream Redox build system.
# apply-patches.sh — Apply all Red Bear OS patches on top of upstream Redox build system.
#
# Usage: ./local/scripts/apply-patches.sh [--force]
#
@@ -95,25 +95,25 @@ mkdir -p recipes/core
symlink "../../local/recipes/core/ext4d" "recipes/core/ext4d"
# ── 4. New files not in upstream ────────────────────────────────────
echo "==> Ensuring RBOS-specific files exist..."
echo "==> Ensuring Red Bear OS-specific files exist..."
# rbos.ipxe (network boot)
if [ ! -f rbos.ipxe ] && [ ! -L rbos.ipxe ]; then
cat > rbos.ipxe <<'IPXE'
# redbear.ipxe (network boot)
if [ ! -f redbear.ipxe ] && [ ! -L redbear.ipxe ]; then
cat > redbear.ipxe <<'IPXE'
#!ipxe
kernel bootloader-live.efi
initrd http://${next-server}:8080/rbos-live.iso
initrd http://${next-server}:8080/redbear-live.iso
boot
IPXE
echo " created rbos.ipxe"
echo " created redbear.ipxe"
fi
# redbear-full config (not in upstream)
if [ ! -f config/redbear-full.toml ] && [ ! -L config/redbear-full.toml ]; then
cat > config/redbear-full.toml <<'TOML'
# Red Bear OS Full Configuration
# Complete desktop + all RBOS custom drivers and tools
# Complete desktop + all Red Bear OS custom drivers and tools
#
# Build: make all CONFIG_NAME=redbear-full
# Live: make live CONFIG_NAME=redbear-full
@@ -132,7 +132,7 @@ redbear-release = {}
# ext4 filesystem support (our custom port)
ext4d = {}
# RBOS driver infrastructure
# Red Bear OS driver infrastructure
redox-driver-sys = {}
linux-kpi = {}
firmware-loader = {}
@@ -145,12 +145,12 @@ udev-shim = {}
redox-drm = {}
amdgpu = {}
# RBOS meta-package (dependencies, default config)
# Red Bear OS meta-package (dependencies, default config)
redbear-meta = {}
TOML
echo " created config/redbear-full.toml"
fi
echo ""
echo "==> All RBOS patches applied. Ready to build."
echo "==> All Red Bear OS patches applied. Ready to build."
echo " make all CONFIG_NAME=redbear-full"
+1 -1
View File
@@ -71,7 +71,7 @@ else
fi
# Step 3: Build
echo ">>> Building RBOS with config: $CONFIG"
echo ">>> Building Red Bear OS with config: $CONFIG"
echo ">>> This may take 30-60 minutes on first build..."
CI=1 make all "CONFIG_NAME=$CONFIG" "JOBS=$JOBS"
+5 -5
View File
@@ -1,12 +1,12 @@
#!/usr/bin/env bash
# sync-upstream.sh — Update from upstream Redox and reapply RBOS patches.
# sync-upstream.sh — Update from upstream Redox and reapply Red Bear OS patches.
#
# Usage:
# ./local/scripts/sync-upstream.sh # Rebase onto upstream master
# ./local/scripts/sync-upstream.sh --dry-run # Preview what would change
# ./local/scripts/sync-upstream.sh --no-merge # Only fetch + check for conflicts
#
# Strategy: git rebase (preserves RBOS commits, replays on new upstream).
# Strategy: git rebase (preserves Red Bear OS commits, replays on new upstream).
# Fallback: if rebase fails, patches in local/patches/build-system/ can be
# applied from scratch via: ./local/scripts/apply-patches.sh --force
@@ -87,7 +87,7 @@ echo ""
echo "=== Sync Summary ==="
echo "Upstream: $UPSTREAM_REF"
echo "Local: HEAD ($(git rev-parse --short HEAD))"
echo "Ahead: $AHEAD RBOS commits"
echo "Ahead: $AHEAD Red Bear OS commits"
echo "Behind: $BEHIND upstream commits"
if [ "$NO_MERGE" = 1 ]; then
@@ -107,7 +107,7 @@ fi
STASHED=0
if ! git diff --quiet 2>/dev/null || ! git diff --cached --quiet 2>/dev/null; then
echo "==> Stashing uncommitted changes..."
git stash push -m "rbos-sync-$(date +%Y%m%d-%H%M%S)"
git stash push -m "redbear-sync-$(date +%Y%m%d-%H%M%S)"
STASHED=1
fi
@@ -115,7 +115,7 @@ PREV_HEAD=$(git rev-parse HEAD)
# ── 5. Rebase ───────────────────────────────────────────────────────
echo ""
echo "==> Rebasing RBOS commits onto $UPSTREAM_REF..."
echo "==> Rebasing Red Bear OS commits onto $UPSTREAM_REF..."
echo " (this replays our $AHEAD commits on top of updated upstream)"
if git rebase "$UPSTREAM_REF"; then
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# Test AMD GPU driver on Red Bear OS
# Run this inside RBOS (or via QEMU serial console)
# Run this inside Red Bear OS (or via QEMU serial console)
set -euo pipefail
echo "=== AMD GPU Driver Test ==="
+2 -2
View File
@@ -186,7 +186,7 @@ refuse_unsafe_device "$DEVICE"
warn_if_system_disk "$DEVICE"
if [ "$SKIP_BUILD" -eq 0 ]; then
echo "=== Building RBOS image ==="
echo "=== Building Red Bear OS image ==="
run_cmd make -C "$REDOX_ROOT" all CONFIG_NAME="$CONFIG"
else
echo "=== Skipping build step ==="
@@ -194,7 +194,7 @@ fi
echo "=== Checking image ==="
if [ ! -f "$IMAGE_PATH" ]; then
echo "ERROR: RBOS image not found: $IMAGE_PATH"
echo "ERROR: Red Bear OS image not found: $IMAGE_PATH"
exit 1
fi