Skip to content

H4 and H5 for hideOS: hardware watchdog, user managers, a shutdown that cannot hang - #25

Merged
youhide merged 3 commits into
mainfrom
hideos-h4-h5
Oct 4, 2026
Merged

youhide merged 3 commits into
mainfrom
hideos-h4-h5

Conversation

@youhide

@youhide youhide commented Oct 4, 2026

Copy link
Copy Markdown
Owner

What hideOS needs from oxinit for its H4 and H5 milestones.

  • Hardware watchdog (M17): oxinit-watchdog feeds /dev/watchdog from the loop, with a boot deadline on a confirming unit; let go last on the way down. cargo xtask test-watchdog covers the fed and the overdue cases.
  • User managers (M18): oxinit --user, the same supervisor run as a person — its own sockets in $XDG_RUNTIME_DIR/oxinit, units from user-units, logs through oxlogd --user, oxctl --user.
  • A stray --version on the kernel command line no longer makes PID 1 return from main.
  • Shutdown: a daemon that moved out of its cgroup (elogind) is signalled and killed directly and its exit ends the stop; the whole-shutdown deadline now wakes the loop instead of waiting for an event that never comes. Found as a hideOS Workstation that never powered off.
  • Timers no longer fire once the machine is going down.

Decisions taken, open to review:

  1. A second exit() in the crate, for a user manager whose loop broke (CLAUDE.md amended).
  2. A configured boot-unit that does not exist still enforces the deadline (fail-safe).
  3. An overdue boot starves the watchdog rather than rebooting cleanly; a reboot leaves it armed.
  4. M17 and M18 are marked done in ROADMAP. test-watchdog is not in CI: it needs docker and the linux-virt package.

Verified: test-boot x86_64 46/46 (three runs), aarch64 46/46, test-distro 48/48, container 10/10, test-watchdog 9/9; fmt and clippy -D warnings clean on x86_64-musl and aarch64-musl.

…tdown that cannot hang

- oxinit-watchdog: feeds /dev/watchdog from the loop, a boot deadline on a
  confirming unit, let go last on the way down.
- oxinit --user: the same supervisor run as a person, with its own sockets,
  units and logs; oxctl --user, oxlogd --user.
- A stray --version on the kernel command line no longer returns from PID 1.
- Shutdown: a daemon that left its cgroup (elogind) is signalled and killed
  directly, its exit ends the stop, and the whole-shutdown deadline wakes the
  loop instead of waiting for an event that never comes.
- Timers no longer fire once the machine is going down.
youhide added a commit to youhide/hideOS that referenced this pull request Oct 4, 2026
…s iris; the desktop finished

- oxinit at youhide/oxinit#25: it feeds the hardware watchdog until boot-ok,
  and the session's PipeWire, WirePlumber and pipewire-pulse are units of
  its `oxinit --user`; a Workstation that powers off with a session up.
- The update applet in the panel ("Restart to update"); Settings → Updates
  updates from the channel, which hideupd reports.
- Mesa builds iris: the SPIR-V tools and the LLVM translator. The kernel's
  build tree in /usr/src, out of images; its modules indexed where kmod
  looks.
- The desktop's missing pieces: Compose tables, the sound theme, pw-play
  with libsndfile, RealtimeKit; the greeter in Dracula; zsh without its
  new-user wizard; hide shell without a time zone.
- Builds under GCC 16: libsndfile in C17, shadow's nscd stub, Go's TMPDIR;
  SOURCE_DATE_EPOCH from unpacked files only.
- hide secureboot enroll writes through efivarfs made writable.
- Tests: desktop-test logs in reliably, checks an application, hide shell
  and the power-off; cargo xtask desktop-shell; hw-test, update-test fixes.
@youhide
youhide merged commit 87504a7 into main Oct 4, 2026
8 checks passed
@youhide
youhide deleted the hideos-h4-h5 branch October 4, 2026 13:05
@youhide youhide mentioned this pull request Oct 4, 2026
youhide added a commit to youhide/hideOS that referenced this pull request Oct 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant