08bea46575
- Override 00_pcid-spawner.service to oneshot_async in redbear-legacy-base.toml: rootfs phase no longer blocks on PCI driver init; getty/login starts immediately. Confirmed working on both QEMU and bare metal (redbear-live-mini). - Clean up 00_base legacy script: remove dead notify ipcd/ptyd calls, keep sudo --daemon. - Add U3 named input producers: inputd supports per-device named producers with fan-out to both device-specific consumers and legacy VT consumers. Migrate ps2d and usbhidd to InputProducer trait. RESERVED_DEVICE_NAMES deduplicated. - Add Intel HDA audio driver phases A-D: ihdad error handling (37 fixes), audio quirks, codec path enumeration, mixer/volume control. - Add init service start/readiness logging (always visible, not debug-gated). - Update BOOT-PROCESS-ASSESSMENT.md: Phase 6 complete, boot procedure documented, validation matrix updated with confirmed boot status. - Update USB-IMPLEMENTATION-PLAN.md and INPUT-SCHEME-ENHANCEMENT.md for U2/U3 status.
60 lines
1.9 KiB
TOML
60 lines
1.9 KiB
TOML
# Red Bear OS overrides for legacy base init scripts.
|
|
#
|
|
# 00_base: tmpdir setup + sudo --daemon. ipcd and ptyd are started by the
|
|
# systemd-style services in base recipe's init.d/ (00_ipcd.service,
|
|
# 00_ptyd.service). The old "notify" calls have been removed because
|
|
# the "notify" binary does not exist — they always failed silently.
|
|
# sudo --daemon is kept here because 00_sudo.service exists in the base
|
|
# recipe but is not wired into any target that gets scheduled.
|
|
# 00_drivers: removed — pcid-spawner is started by 00_pcid-spawner.service from
|
|
# the base recipe. The legacy script was redundant.
|
|
# 10_net: blanked — replaced by per-config network services (e.g. redbear-live-mini's
|
|
# 10_smolnetd.service + 10_dhcpd.service).
|
|
# 00_pcid-spawner.service: overridden to oneshot_async. The base recipe uses
|
|
# type="oneshot" which blocks init until pcid-spawner exits. On real
|
|
# hardware (and QEMU), pcid-spawner can hang waiting for a PCI device
|
|
# driver that never responds, blocking the entire rootfs phase including
|
|
# getty/login. Using oneshot_async lets init proceed to start console
|
|
# services while drivers spawn in the background.
|
|
|
|
[[files]]
|
|
path = "/usr/lib/init.d/00_base"
|
|
data = """
|
|
# clear and recreate tmpdir with 0o1777 permission
|
|
rm -rf /tmp
|
|
mkdir -m a=rwxt /tmp
|
|
|
|
nowait sudo --daemon
|
|
"""
|
|
|
|
[[files]]
|
|
path = "/usr/lib/init.d/00_drivers"
|
|
data = ""
|
|
|
|
[[files]]
|
|
path = "/usr/lib/init.d/10_net"
|
|
data = ""
|
|
|
|
[[files]]
|
|
path = "/etc/init.d/20_audiod.service"
|
|
data = """
|
|
[unit]
|
|
description = "Audio multiplexer"
|
|
default_dependencies = false
|
|
|
|
[service]
|
|
cmd = "audiod"
|
|
type = "oneshot_async"
|
|
"""
|
|
|
|
[[files]]
|
|
path = "/etc/init.d/00_pcid-spawner.service"
|
|
data = """
|
|
[unit]
|
|
description = "PCI driver spawner (non-blocking)"
|
|
|
|
[service]
|
|
cmd = "pcid-spawner"
|
|
type = "oneshot_async"
|
|
"""
|