HowTo: Finit on Alpine Linux 3.4-3.6
HowTo use Finit to boot an Alpine Linux system. It is assumed that the user has already installed make, a compiler, C library header files, and other tools needed to build a GNU configure based project.
To start with you need to first install libuEv and libite. They
default to install to
/usr/local, but unlike Debian and Ubuntu based
pkg-config does not look for libraries and header
files there. So the
PKG_CONFIG_LIBDIR environment variable must be
used, or change the install prefix to
The bundled build.sh script can be used to configure and build finit:
alpine:~# cd finit alpine:~/finit# ./contrib/alpine/build.sh
Then run the install.sh script to install all necessary
files, including the sample
More on that below.
The install script is non-destructive by default, you have to answer Yes twice to set up Finit as the system default init. Pay close attention to the last question:
*** Install Finit as the system default Init (y/N)?
If you answer
No, simply by pressing enter, you can change the symlink
yourself later on, to point to
finit instead of
alpine:~/finit# cd /sbin alpine:/sbin# rm init alpine:/sbin# ln -s finit init
Before rebooting, make sure to set up a /etc/finit.conf,
and /etc/finit.d/ for your services. Samples are included
in this directory. Notice the symlinks in
/etc/finit.d/, which can be
managed by the operator at runtime using
initctl enable SERVICE. You
can also use a standard /etc/rc.local for one-shot tasks and
initialization like keyboard language etc.