cee25393d8
- Fix P15-8-init-cycle-detection.patch: replace visiting+error with seen+silent-skip to eliminate 11 false-positive 'dependency cycle detected' errors on shared deps - Fix P0-daemon-fix-init-notify-unwrap.patch: remove eprintln! for missing INIT_NOTIFY (expected for oneshot_async services, ~7 daemons affected) - Fix driver-manager hotplug loop: add PERMANENTLY_SKIPPED static set shared between hotplug handler and DriverConfig::probe() to stop infinite re-probing of Fatal/NotSupported/deferred-exhausted device+driver pairs (e.g. ided) - Fix driver-manager log_timeline: suppress repeated EPIPE/ENOENT errors with AtomicI32 dedup and AtomicBool one-shot guards for boot timeline JSON - Add driver-manager SIGTERM handler, ACPI bus registration, --status mode, driver reap loop, graceful shutdown, and reduced deferred retries (30→3)
110 lines
2.4 KiB
TOML
110 lines
2.4 KiB
TOML
# Red Bear OS boot stage targets
|
|
#
|
|
# Semantic boot stages that create ordering through the init system's
|
|
# BFS dependency traversal. Each target depends on the previous one.
|
|
#
|
|
# Stage mapping:
|
|
# 00_base.target — kernel schemes ready (defined in base package initfs)
|
|
# 02_early_hw.target — ACPI + PCI bus access ready
|
|
# 04_drivers.target — driver spawning complete
|
|
# 06_services.target — system services (D-Bus, session broker)
|
|
# 08_userland.target — user-facing (console, greeter, desktop)
|
|
#
|
|
# Services use requires_weak against their stage target.
|
|
# Targets use requires_weak to chain to the previous stage.
|
|
#
|
|
# Serial boot markers (02-08_serial_*.service) echo a stage completion
|
|
# message to stderr, which appears on the serial console for diagnostics.
|
|
|
|
[[files]]
|
|
path = "/etc/init.d/02_early_hw.target"
|
|
data = """
|
|
[unit]
|
|
description = "Early hardware: ACPI + PCI bus access"
|
|
requires_weak = [
|
|
"00_base.target",
|
|
]
|
|
"""
|
|
|
|
[[files]]
|
|
path = "/etc/init.d/02_serial_early_hw.service"
|
|
data = """
|
|
[unit]
|
|
description = "Serial boot marker: early hardware stage"
|
|
requires_weak = ["02_early_hw.target"]
|
|
|
|
[service]
|
|
cmd = "echo"
|
|
args = ["RB_STAGE_02_EARLY_HW"]
|
|
type = "oneshot"
|
|
"""
|
|
|
|
[[files]]
|
|
path = "/etc/init.d/04_drivers.target"
|
|
data = """
|
|
[unit]
|
|
description = "Driver spawning stage"
|
|
requires_weak = [
|
|
"02_early_hw.target",
|
|
]
|
|
"""
|
|
|
|
[[files]]
|
|
path = "/etc/init.d/04_serial_drivers.service"
|
|
data = """
|
|
[unit]
|
|
description = "Serial boot marker: drivers stage"
|
|
requires_weak = ["04_drivers.target"]
|
|
|
|
[service]
|
|
cmd = "echo"
|
|
args = ["RB_STAGE_04_DRIVERS"]
|
|
type = "oneshot"
|
|
"""
|
|
|
|
[[files]]
|
|
path = "/etc/init.d/06_services.target"
|
|
data = """
|
|
[unit]
|
|
description = "System services: D-Bus, session broker, seat management"
|
|
requires_weak = [
|
|
"04_drivers.target",
|
|
]
|
|
"""
|
|
|
|
[[files]]
|
|
path = "/etc/init.d/06_serial_services.service"
|
|
data = """
|
|
[unit]
|
|
description = "Serial boot marker: services stage"
|
|
requires_weak = ["06_services.target"]
|
|
|
|
[service]
|
|
cmd = "echo"
|
|
args = ["RB_STAGE_06_SERVICES"]
|
|
type = "oneshot"
|
|
"""
|
|
|
|
[[files]]
|
|
path = "/etc/init.d/08_userland.target"
|
|
data = """
|
|
[unit]
|
|
description = "User-facing: console, greeter, desktop"
|
|
requires_weak = [
|
|
"06_services.target",
|
|
]
|
|
"""
|
|
|
|
[[files]]
|
|
path = "/etc/init.d/08_serial_userland.service"
|
|
data = """
|
|
[unit]
|
|
description = "Serial boot marker: userland stage"
|
|
requires_weak = ["08_userland.target"]
|
|
|
|
[service]
|
|
cmd = "echo"
|
|
args = ["RB_STAGE_08_USERLAND"]
|
|
type = "oneshot"
|
|
"""
|