init: cutover — driver-manager owns the boot path, pcid-spawner gated as fallback
- 00_driver-manager.service: resident daemon args (--hotplug); runs unless /etc/driver-manager.d/disabled exists. - 40_driver-manager-initfs.service: gate flipped from opt-in (initfs-active) to default-on (!/etc/driver-manager.d/disabled). - 00_pcid-spawner.service + 40_pcid-spawner-initfs.service: gated to start only when /etc/driver-manager.d/disabled exists — the legacy spawner remains staged as the operator fallback, never deleted.
This commit is contained in:
@@ -18,8 +18,9 @@ description = "Driver manager (post-switchroot /usr spawner)"
|
||||
|
||||
[service]
|
||||
cmd = "driver-manager"
|
||||
args = ["--rootfs"]
|
||||
# oneshot so a hypothetical bind handle error doesn't loop the manager
|
||||
# Resident daemon: initial enumeration, then the hotplug loop forever.
|
||||
args = ["--hotplug"]
|
||||
# oneshot_async so init does not block on the manager's readiness.
|
||||
type = "oneshot_async"
|
||||
# Operator must explicitly enable this service:
|
||||
# touch /etc/driver-manager.d/disabled # force fallback to pcid-spawner
|
||||
|
||||
@@ -3,6 +3,11 @@ description = "PCI driver spawner"
|
||||
|
||||
[service]
|
||||
cmd = "pcid-spawner"
|
||||
# Fallback-only since the driver-manager cutover: this service starts only
|
||||
# when the operator forces the legacy spawner back on with
|
||||
# touch /etc/driver-manager.d/disabled
|
||||
# Otherwise driver-manager (00_driver-manager.service) owns the boot path.
|
||||
ConditionPathExists = "/etc/driver-manager.d/disabled"
|
||||
# oneshot_async, NOT oneshot: this is the post-switchroot /usr driver-manager.
|
||||
# As a blocking oneshot, init waits for pcid-spawner to enumerate PCI and bring
|
||||
# every matched driver to readiness (daemon::Daemon::spawn blocks on each
|
||||
|
||||
@@ -15,7 +15,7 @@ requires_weak = ["10_inputd.service", "20_graphics.target", "40_pcid.service"]
|
||||
cmd = "driver-manager"
|
||||
args = ["--initfs"]
|
||||
type = "oneshot"
|
||||
# Operator must explicitly enable this service by removing the
|
||||
# ConditionPathExists flag (C2 wiring). Until then, pcid-spawner
|
||||
# initfs continues to operate.
|
||||
ConditionPathExists = "/etc/driver-manager.d/initfs-active"
|
||||
# Active by default since the cutover. Operator falls back to the legacy
|
||||
# pcid-spawner initfs path with:
|
||||
# touch /etc/driver-manager.d/disabled
|
||||
ConditionPathExists = "!/etc/driver-manager.d/disabled"
|
||||
|
||||
@@ -5,4 +5,7 @@ requires_weak = ["10_inputd.service", "20_graphics.target", "40_pcid.service"]
|
||||
[service]
|
||||
cmd = "pcid-spawner"
|
||||
args = ["--initfs"]
|
||||
# Fallback-only since the driver-manager cutover: starts only when the
|
||||
# operator forces the legacy spawner with /etc/driver-manager.d/disabled.
|
||||
ConditionPathExists = "/etc/driver-manager.d/disabled"
|
||||
type = "oneshot"
|
||||
|
||||
Reference in New Issue
Block a user