# 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" """