5

I have Devuan Ascii with SysVinit installed. I see that the openRC version is much older in Devuan ascii repository. Has anyone tried Devuan with openRC? Is the parallel starts enabled for openRC?

5
  • Have a look at Antix Commented Oct 2, 2018 at 10:01
  • Yeah. I should try. But, does antiX has packaged openRC and other packages to work without systemd. Commented Oct 2, 2018 at 16:13
  • 1
    Antix has made a much better job of avoiding systemd than Devuan. As for openRC no idea. Flooded on work today, wont be able to check that out for you. Commented Oct 2, 2018 at 16:16
  • Thanks for the heads up. I will try to boot an antiX iso (default is runit init, I guess) to see. Commented Oct 2, 2018 at 16:31
  • Antix has openrc, just checked, no systemd. Commented Oct 2, 2018 at 18:20

1 Answer 1

6

tl;dr

Yes, it can be, but it is slower and less efficient than the default sysvinit setup.

The Default (sysvinit)

A default Devuan Ascii installation already does parallel bootup with insserv and startpar. These work by parsing LSB headers in initscripts (take a look inside /etc/init.d) that explicitly specify dependencies. When you run sudo insserv, insserv processes these init scripts into files such as /etc/init.d/.depend.boot, /etc/init.d/.depend.start, etc. On bootup, startpar reads these scripts and starts processes in parallel according to these rules.

For example, here is my bootchart with sysvinit (booting to a console): sysv bootchart

OpenRC (unoptimized)

Installing OpenRC is done like any other package:

$ apt update
$ apt install openrc

After installation, it will tell you:

**********************************************************************
*** WARNING: if you are replacing sysv-rc by OpenRC, then you must ***
*** reboot immediately using the following command:                ***
for file in /etc/rc0.d/K*; do s=`basename $(readlink "$file")` ; /etc/init.d/$s stop; done
**********************************************************************

Run that as superuser.

In the process of installation, apt will remove insserv and startpar.

However, at least in my experience, OpenRC is slower than augmented sysvinit due to the fact that OpenRC calculates dependencies at boot time, as opposed to insserv which does so at package-install time.

For example, here is my bootchart with OpenRC, which is 1.57 seconds slower: openrc unoptimized bootchart

OpenRC (optimized)

If we want to go further, we can add the line rc_parallel="YES" to /etc/rc.conf. However, this mangles the startup output for a minimal gain in startup time, which is still slower than insserv+startpar: openrc optimized bootchart

This is because OpenRC is still using the LSB init scripts written in shell, as opposed to setups more optimized for it using openrc-run. Even with an updated version of OpenRC with openrc-init used instead of sysvinit, the bootup times are still worse.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .