Skip to content
API Documentation
BastionGuard™
Init-system integration

RootGuard ships native definitions for systemd, OpenRC, dinit and SysV init. Select one explicitly for distribution packaging:

cmake -S . -B build -DROOTGUARD_INIT_SYSTEM=openrc

Accepted values are:

auto systemd openrc dinit sysvinit none

The compatibility aliases sysv and dninit are normalized to sysvinit and dinit. The canonical spelling is dinit.

For local builds, auto checks PID 1 first and then runtime markers. It does not select systemd merely because a compatibility systemctl binary exists. OpenRC and SysV definitions are never installed together because both own /etc/init.d/bastionguard-rootguard.

All init definitions are also installed as samples below /usr/share/bastionguard-rootguard/init-samples/.

The GTK client calls the multi-init controller:

/usr/libexec/bastionguard/bastionguard-rootguard-service

Read-only status is unprivileged. Start, stop, restart and policy reload are executed through pkexec and the bundled polkit action.