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:
@@ -3,4 +3,4 @@ description = "VT input and graphics multiplexer"
|
||||
|
||||
[service]
|
||||
cmd = "inputd"
|
||||
type = { scheme = "input" }
|
||||
type = "oneshot_async"
|
||||
|
||||
@@ -4,4 +4,4 @@ description = "Live disk"
|
||||
|
||||
[service]
|
||||
cmd = "lived"
|
||||
type = "notify"
|
||||
type = "oneshot_async"
|
||||
|
||||
@@ -4,4 +4,4 @@ requires_weak = ["10_inputd.service", "20_vesad.service"]
|
||||
|
||||
[service]
|
||||
cmd = "fbbootlogd"
|
||||
type = { scheme = "fbbootlog" }
|
||||
type = "oneshot_async"
|
||||
|
||||
@@ -5,4 +5,4 @@ requires_weak = ["10_inputd.service", "20_vesad.service"]
|
||||
[service]
|
||||
cmd = "fbcond"
|
||||
args = ["2"]
|
||||
type = { scheme = "fbcon" }
|
||||
type = "oneshot_async"
|
||||
|
||||
@@ -10,4 +10,4 @@ inherit_envs = [
|
||||
"FRAMEBUFFER_HEIGHT",
|
||||
"FRAMEBUFFER_STRIDE",
|
||||
]
|
||||
type = "notify"
|
||||
type = "oneshot_async"
|
||||
|
||||
@@ -6,4 +6,4 @@ condition_board = ["raspi3bp"]
|
||||
|
||||
[service]
|
||||
cmd = "bcm2835-sdhcid"
|
||||
type = "notify"
|
||||
type = "oneshot_async"
|
||||
|
||||
@@ -5,4 +5,4 @@ requires_weak = ["10_inputd.service", "10_lived.service", "20_graphics.target"]
|
||||
[service]
|
||||
cmd = "hwd"
|
||||
inherit_envs = ["RSDP_ADDR", "RSDP_SIZE"]
|
||||
type = "notify"
|
||||
type = "oneshot_async"
|
||||
|
||||
@@ -5,4 +5,4 @@ condition_architecture = ["x86", "x86_64"]
|
||||
|
||||
[service]
|
||||
cmd = "ps2d"
|
||||
type = "notify"
|
||||
type = "oneshot_async"
|
||||
|
||||
Reference in New Issue
Block a user