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]
|
[service]
|
||||||
cmd = "driver-manager"
|
cmd = "driver-manager"
|
||||||
args = ["--rootfs"]
|
# Resident daemon: initial enumeration, then the hotplug loop forever.
|
||||||
# oneshot so a hypothetical bind handle error doesn't loop the manager
|
args = ["--hotplug"]
|
||||||
|
# oneshot_async so init does not block on the manager's readiness.
|
||||||
type = "oneshot_async"
|
type = "oneshot_async"
|
||||||
# Operator must explicitly enable this service:
|
# Operator must explicitly enable this service:
|
||||||
# touch /etc/driver-manager.d/disabled # force fallback to pcid-spawner
|
# touch /etc/driver-manager.d/disabled # force fallback to pcid-spawner
|
||||||
|
|||||||
@@ -3,6 +3,11 @@ description = "PCI driver spawner"
|
|||||||
|
|
||||||
[service]
|
[service]
|
||||||
cmd = "pcid-spawner"
|
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.
|
# 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
|
# 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
|
# 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"
|
cmd = "driver-manager"
|
||||||
args = ["--initfs"]
|
args = ["--initfs"]
|
||||||
type = "oneshot"
|
type = "oneshot"
|
||||||
# Operator must explicitly enable this service by removing the
|
# Active by default since the cutover. Operator falls back to the legacy
|
||||||
# ConditionPathExists flag (C2 wiring). Until then, pcid-spawner
|
# pcid-spawner initfs path with:
|
||||||
# initfs continues to operate.
|
# touch /etc/driver-manager.d/disabled
|
||||||
ConditionPathExists = "/etc/driver-manager.d/initfs-active"
|
ConditionPathExists = "!/etc/driver-manager.d/disabled"
|
||||||
|
|||||||
@@ -5,4 +5,7 @@ requires_weak = ["10_inputd.service", "20_graphics.target", "40_pcid.service"]
|
|||||||
[service]
|
[service]
|
||||||
cmd = "pcid-spawner"
|
cmd = "pcid-spawner"
|
||||||
args = ["--initfs"]
|
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"
|
type = "oneshot"
|
||||||
|
|||||||
Reference in New Issue
Block a user