Files
RedBear-OS/init.d/00_pcid-spawner.service
T
Red Bear OS c72d4247a6 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.
2026-07-23 17:51:44 +09:00

22 lines
1.1 KiB
Desktop File

[unit]
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
# driver's ready signal) before continuing — so a single slow/hanging driver,
# or an unavailable /scheme/pci after switchroot, wedges the whole boot right
# here, before the console/login stack. The login path renders on the initfs
# framebuffer (vesad+fbcond) and does not need the /usr PCI drivers to be ready
# first, so bring them up asynchronously. NOTE: the initfs driver spawner
# (40_pcid-spawner-initfs) stays a blocking oneshot — disk (ahcid) must be
# ready before redoxfs mounts.
type = "oneshot_async"