Busybox 1.25.1 Runit applets
There is a problem with all the puplets, including Easy and Quirky. Well, unless a developer has tackled in it their puplet.
The problem is the order of execution of service scripts at startup,
for example, those in /etc/init.d -- we execute those in a fixed order,
however, that is barely adequate.
It may be that a certain service script should only run after there
is a network connection, for example. Or sound is working, or X is
running, and so on.
I have been looking at various solutions, and liked the look of Runit. Homepage:
Then, surprise, surprise, I found that the Runit utilities are in Busybox. They are:
chpst, setuidgid, envuidgid, envdir, softlimit, runsv, runsvdir, sv, svlogd
Using Landley's Aboriginal Linux, the older chrootable filesystem
with uClibc (he has shifted to musl, unfortunately), I have compiled
Busybox statically with those Runit applets enabled. I also enabled
these network applets:
inetd, udpsvd, tcpsvd
Here is the PET:
...however, don't install it, as it will replace all the "full"
utilities with symlinks to busybox. For example, 'sort' and 'date'. If
you really want to use it, open it up with the 'pet2dir' utility, then
copy the 'busybox' executable, then the above applet symlinks.
I have also compiled 's6' statically, and there are PETs, however, it
is a solution that will add megabytes to the build. So, at this stage I
am favouring Busybox Runit. To actually use it, is next on the agenda.
Here is an interesting read: