Files
finit/contrib/debian
Joachim Wiberg a8b113185d Major change, rename <svc/...> conditions to <pid/...> conditions
The <svc/foo> condition was created to synchronize starting services,
hence the abbreviation.  Example: the Quagga ripd needs to start after
the zebra daemon to ensure its UNIX domain socket is active, otherwise
events may be lost.

However, considering that synchronization was implemented with UNIX PID
files, e.g. waiting for /var/run/quagga/zebra.pid to be created, the
condition abbreviation name <svc/foo> was hard to understand by most
newcomers to Finit.  To make matters worse, a new feature to track or
even create PID files for services that don't create one themselves,
using the syntax 'pid:/path/to/foo.pid' was added.

Connecting the dots between these wasn't obvious.

This patch renames service conditions pid conditions and also adds
a compatibility wrapper to the Finit .conf parser.  Any condition
given in old .conf files with 'svc/' prefix are internally renamed
'pid/', along with a LOG_INFO notice in syslog.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-09 22:07:03 +01:00
..
2017-10-18 08:14:29 +02:00

HowTo: Finit on Debian GNU/Linux

HowTo use Finit to boot a Debian GNU/Linux system. It is assumed that the user has already installed a compiler, C library header files, and other tools needed to build a GNU configure based project. I.e., at the very least:

root@debian:~# apt install build-essential

Like the Alpine HowTo, you need to install libuEv and libite, but since this is Debian — which takes infinite care of its users ♥ ♥ ♥ we don't need to worry about pkg-config, except for having it installed so it can locate the uEv and lite libraries.

With Debian everything just works!™

... just make sure to install the following, so ifup and other basic tools pre-systemd work as intended.

root@debian:~# apt install initscripts console-setup

The following script can then be used to configure, build, install and set up your system to run Finit:

user@debian:~/finit$ contrib/debian/build.sh

However, since /sbin/init already exists on your system, the script creates another entry in your GRUB config, in /etc/grub.d/40_custom, where init=/sbin/finit is added to your kernel line. It is of course also possible to change the default init to Finit, if you do you can remove the custom Grub entry:

user@debian:~/finit# cd /sbin
user@debian:/sbin# sudo rm init
user@debian:/sbin# sudo ln -s finit init

Before rebooting, check the default /etc/finit.conf and /etc/finit.d/*.conf files. The build + install script above provides a few sample .conf files. See initctl list after boot for a list of enabled and available services.

You can also use a standard /etc/rc.local for one-shot tasks and initialization like keyboard language etc.

Have fun!
/Joachim ツ