FINIT(8) | System Manager's Manual (smm) | FINIT(8) |
finit
— Fast init
for Linux systems
/sbin/finit |
[finit.status_style=classic] [finit.show_status=[on,off]] [finit.debug] [rescue | recover] [single | S] |
/sbin/telinit |
[-hv ] [q | Q | 0-9] |
Fast init for Linux systems. Reverse engineered from the EeePC fastinit, 10+ years ago by Claudio Matsuoka, "gaps filled with frog DNA ...". Focus is on small and embedded systems, although Finit is fully usable on server and desktop systems as well.
Features include:
Before laucnhing services, the system needs to be bootstrapped. This involves mounting all filesystems (not already mounted by an initramfs) in /etc/fstab, ensuring that necessary filesystems like: /dev, /proc, /sys, and /run are available and can provide the system with the services required.
With that out of the way, a set of plugins take over:
bootmisc.so
modprobe.so
procps.so
When the plugins are done, finit reads /etc/finit.conf and all other enabled services in /etc/finit.d/*. First all services, run/tasks in runlevel S (bootStrap) are started, When all run/tasks have completed, Finit changes to the configured runlevel (default 2), Processes are started in parallel, in dependency order according to their conditions.
When all services and run/tasks have been started, the console progress is disabled and all configured getty services are started.
The condition subysystem in Finit was initially created to track PID files of daemons. If service/task B requires service A to have started, Finit waits for the PID file of service A to be created/updated before it starts service B. Conversely, if service A is stopped and its PID file removed, service B is also stopped.
The following condition families are available today:
net
pid
name:id
,
gives the condition pid/name:idsys
usr
initctl cond
[set|clr] foo
PID 1 is the only process that by default blocks all signals. Finit allows for the following signals to control operation, but recommends instead using the initctl(8) tool.
finit
to reload its configuration file(s),
same as initctl reload
initctl
) socket.finit
to perform a system shutdown, same as
initctl poweroff
initctl
reboot
finit
was conceived and reverse engineered
by Claudio Matsuoka. Since v1.0, maintained by Joachim Wiberg, with
contributions by many others.
June 6, 2021 | Linux |