Booting a Linux system involves several tasks. The process must mount both virtual and real file systems, initialize devices, check file systems for integrity, mount and activate any swap partitions or files, set the system clock, bring up networking, start any daemons required by the system, and accomplish any other custom tasks specified by the user. This process must be organized to ensure the tasks are performed in the correct order and executed as quickly as possible.
OpenRC combines the methodology of both SysVinit and Systemd.
OpenRC has the concept of services with dependency information, yet
it uses a run level scheme which is similar to SysVinit. OpenRC,
like SysVinit and Systemd, uses init and starts up every process
and daemon as required. While you can choose which run level you
want to be on, default has the most
services and is the default. For information on run levels, see
Section 9.5,
“OpenRC Usage and Configuration”.
Established, well understood system.
Easy to customize.
Well supported and backed by major Linux distributions.
Parallelized.
Cgroups support.
It is not as convenient as Systemd.
It does not provide the amount of tooling Systemd does.
Certain features that projects depend on that only exist in Systemd may take a while before seeing parity in OpenRC.