Commit Graph

9 Commits

Author SHA1 Message Date
Red Bear OS 4319dfc0ae init: gracefully degrade on setrens failure
The initial bootstrap init (started directly by the kernel) has no
ns_fd in its dynamic proc info. setrens(0,0) calls mkns which needs
a current_namespace_fd() — this returns ENOENT and panics.

Replace the .expect() with a graceful fallback: log a warning and
continue with the full scheme set. This lets init function even when
the null namespace cannot be created (e.g. when the bootstrap
initnsmgr daemon isn't running).

The null namespace is a hardening feature, not a correctness
requirement. Init can still spawn daemons and manage the system
without it.
2026-07-10 22:49:07 +03:00
Red Bear OS e758e68eb3 init: use /scheme/debug/no-preserve for earliest debug output 2026-07-10 19:41:26 +03:00
Red Bear OS 2ade335e3c init: add debug eprintln at startup to locate panic site 2026-07-10 16:22:14 +03:00
vasilito 37803065d6 init: skip hidden files in init.d; pcid-spawner: increase /scheme/pci wait timeout 2026-07-06 15:04:24 +03:00
Red Bear OS e653ef10d6 base: revert oneshot_async service types, fix local fork deps, migrate remote to RedBear-OS
- Revert initfs/rootfs service types from oneshot_async to blocking
  Scheme/Notify/Oneshot to fix init ordering races.
- Add /scheme/pci retry loop in pcid-spawner.
- Bump redox_event to 0.4.8; use local paths for redox-ioctl and redox-rt.
- Regenerate Cargo.lock / bootstrap/Cargo.lock with only local forks.
- Update submodule origin from redbear-os-base.git to RedBear-OS.git
  branch submodule/base per single-repo policy.
2026-07-05 22:25:00 +03:00
Red Bear OS 4bfb878b55 init: convert all blocking services to oneshot_async, add force-run deadlock breaker
Change ALL non-critical init.d and init.initfs.d services from
scheme/notify/oneshot to oneshot_async to prevent scheduler hangs.
Add force-run after 3 defers to break dependency cycles.
Add STEP_DONE serial marker to confirm scheduler completion.

Changed services (init.d): ipcd, ptyd, pcid-spawner, smolnetd, audiod
Changed services (init.initfs.d): inputd, lived, fbbootlogd, fbcond,
  vesad, hwd, ps2d, bcm2835-sdhcid
Changed config overrides: ucsid, driver-params, gpiod, i2cd

The scheduler now processes 65 units across all phases. Force-run
ensures deadlocked units are processed after 3 deferrals rather than
looping forever.
2026-07-04 01:06:52 +03:00
Red Bear OS 4a1d1f4576 init: add scheduler completion counter with direct serial output
Write DONE/LIVE diagnostics to /scheme/debug/no-preserve to
confirm step() completion. Revert all verbose tracing to clean
state.
2026-07-03 10:43:07 +03:00
Red Bear OS b1a6bd871f init: add serial debug output for scheduler tracing
Add dbg_init/dbgprintln macros that write directly to /scheme/debug/no-preserve,
bypassing logd output redirection after switch_stdio. This enables scheduler
tracing (INIT_RUN, INIT_DEFER, INIT_BLOCK, INIT_DONE, INIT_SCHEME) to remain
visible on the serial console throughout all boot phases.

Also add INIT_SPIN counter to detect infinite polling loops in step().
2026-07-03 08:53:20 +03:00
Red Bear OS dd08b76a39 Red Bear OS base baseline from 0.1.0 pre-patched archive 2026-06-27 09:21:43 +03:00