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.
1.8 KiB
1.8 KiB
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:
- POSIX gap:
sem_open/sem_close/sem_unlinkweretodo!()stubs in relibc, preventing Qt6Core.so from linking. Fixed viaP5-named-semaphores.patch(full shm-based implementation). - Config inconsistency:
kf6-kwaylandandkf6-kidletimedepend onlibwaylandwhich cannot build. Fixed by marking both as"ignore"(they are orphan dependencies of the already-disabled KWin). - Build system races: Stale stage directories and cargo install overwrite failures. Fixed in
src/cook/cook_build.rsandsrc/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 |