Runsvdir boot waves
===================

By default stage 2 starts every symlink in runsvdir/default at once. For
large systems that starves dbus, vdev and other core daemons.

Phased boot (enabled by /etc/runit/native.boot.run or
/etc/runit/runsvdir-waves.enabled) merges tiers into:

  /etc/runit/runsvdir/merged

additively (longruns from earlier waves stay supervised):

  01-core/   early infrastructure (vdev, vdev-coldplug, dbus, ubus, …)
  02-base/   base after core devices (elogind, networking, resolvconf,
             early async oneshots such as brightness / x11-common / …)
  default/   everything else (getty, display manager, alsa-utils, …)

Stage 2 seeds merged from the first non-empty tier (usually 01-core),
starts runsvdir there, then runsvdir-waves merges 02-base and default
with .forced-rescan between waves.

Each tier may list hard dependencies in .needs (one service name per
line; # comments allowed). wait-tier(8) polls sv check before the next
wave merges. List longruns only — stage-2 oneshots that finish/down
must not appear in .needs. Optional stacks (dbus, ubus, elogind, …)
are omitted from shipped .needs so minimal systems are not blocked.

Services should be symlinked into the tier where they must first start.
They may also remain linked in default (dh-runit); merge is idempotent.
Do not rely on runsvchdir between bare tier directories for longruns —
that would restart or stop them.
