b9874d0941
Add redbear-usb-storage-check in-guest binary that validates USB mass storage read and write I/O: discovers /scheme/disk/ devices, writes a test pattern to sector 2048, reads it back, verifies match, restores original content. Updates test-usb-storage-qemu.sh with write-proof verification step. Includes all accumulated Red Bear OS work: kernel patches, relibc patches, driver infrastructure, DRM/GPU, KDE recipes, firmware, validation tooling, build system hardening, and documentation.
37 lines
1.8 KiB
Markdown
37 lines
1.8 KiB
Markdown
# Red Bear OS — Graphical Boot Assessment
|
|
|
|
**Date**: 2026-05-03 (updated same day after fixes)
|
|
**Tested**: redbear-full harddrive.img in QEMU
|
|
|
|
## Result: Build SUCCEEDED (after fixes)
|
|
|
|
### Original Issue (FIXED)
|
|
The `make all CONFIG_NAME=redbear-full` previously failed due to:
|
|
1. **POSIX gap**: `sem_open`/`sem_close`/`sem_unlink` were `todo!()` stubs in relibc, preventing Qt6Core.so from linking. **Fixed** via `P5-named-semaphores.patch` (full shm-based implementation).
|
|
2. **Config inconsistency**: `kf6-kwayland` and `kf6-kidletime` depend on `libwayland` which cannot build. **Fixed** by marking both as `"ignore"` (they are orphan dependencies of the already-disabled KWin).
|
|
3. **Build system races**: Stale stage directories and cargo install overwrite failures. **Fixed** in `src/cook/cook_build.rs` and `src/cook/script.rs`.
|
|
|
|
### Current State
|
|
|
|
| Component | Status |
|
|
|-----------|--------|
|
|
| redbear-full build | ✅ 0 failed recipes, 4GB image |
|
|
| sem_open/close/unlink | ✅ Exported in libc.so (verified: nm -D) |
|
|
| redbear-mini (text-only) | ✅ Boots to login on framebuffer |
|
|
| Kernel, drivers, initfs | ✅ Works |
|
|
| D-Bus daemon | ✅ Starts (verified via serial probes) |
|
|
| redbear-sessiond (login1) | ✅ Starts |
|
|
| Evdevd, inputd, ps2d | ✅ Registered |
|
|
| Serial debug console | ✅ Fixed (uses /scheme/debug/no-preserve with respawn) |
|
|
| KWin / Wayland | 🔲 Blocked by QML gate |
|
|
| Greeter UI | 🔲 Blocked by QML gate |
|
|
|
|
### Remaining Blockers
|
|
|
|
| Blocker | Detail |
|
|
|---------|--------|
|
|
| libwayland | Cannot build: missing `MSG_NOSIGNAL` and `open_memstream` in relibc |
|
|
| kf6-kwayland/kf6-kidletime | Marked "ignore" — temporary, blocked on libwayland |
|
|
| QML gate | kirigami → plasma-framework → plasma-workspace requires QtQuick/QML headers |
|
|
| KWin | Blocked by QML gate
|