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.
This commit is contained in:
Red Bear OS
2026-07-04 01:06:52 +03:00
parent 4a1d1f4576
commit 4bfb878b55
15 changed files with 41 additions and 23 deletions
+1 -1
View File
@@ -3,4 +3,4 @@ description = "IPC daemon"
[service]
cmd = "ipcd"
type = "notify"
type = "oneshot_async"
+1 -1
View File
@@ -3,4 +3,4 @@ description = "PCI driver spawner"
[service]
cmd = "pcid-spawner"
type = "oneshot"
type = "oneshot_async"
+1 -1
View File
@@ -3,4 +3,4 @@ description = "PTY daemon"
[service]
cmd = "ptyd"
type = "notify"
type = "oneshot_async"
+1 -1
View File
@@ -8,4 +8,4 @@ requires_weak = [
[service]
cmd = "netstack"
type = "notify"
type = "oneshot_async"
+1 -1
View File
@@ -6,4 +6,4 @@ requires_weak = [
[service]
cmd = "audiod"
type = { scheme = "audio" }
type = "oneshot_async"