1.3 KiB
1.3 KiB
Contract: Unattended Boot Services (OpenRC)
Version: 1.0
Purpose
Rules for OpenRC services that run in unattended environments: LiveCDs, kiosks, embedded systems. No user is present. No TTY prompts. Every failure path must have a silent fallback.
See README.md for sample init scripts and ordering sketches.
Rules
- Never block boot. A service failure must not stop the rest of the runlevel.
- Never prompt. Do not use
read, pause logic, or any interactive fallback. - Every
start()must end witheend 0unless failure makes the environment fundamentally unusable, such as breaking SSH setup. - Write service diagnostics to
/var/log/. TTY output is secondary. - Missing tools, absent network, or driver load failures must degrade gracefully: log and continue.
- Use the minimum dependency set. Prefer
afteranduse; do not addneed net,need networking, orneed network-onlineunless the service is truly useless without network and failure should be loud. - SSH services must start without requiring network availability.
- DHCP must be non-blocking and persistent. Run the client in background retry mode rather than failing the boot sequence when no lease is immediately available.
- External commands must be timeout-bounded so a bad device or tool cannot hang boot indefinitely.