Finit is an extremely fast /sbin/init replacement with a focus on small embedded GNU/Linux systems. It's based on Claudio Matsuoka's original fast init replacement, with extensions for run levels, multiple TTYs, I/O plugins, service plugins, and extensibility plugins.
|Tags||Unix Boot Init Init Daemon|
|Operating Systems||Linux POSIX Unix BSD (untested)|
Let’s start off with tasks. Tasks are one-shot commands, with a syntax like service directives, but are not monitored and respawned like services. ...
Release Notes: This release adds support for multiple runlevels, with a dedicated bootstrap level, one-shot tasks (in parallel or sequence), and multiple TTYs.
Release Notes: This is a bugfix release. It cleans up the recorded PID of a service when it is lost (needed by callbacks). It fixes a segfault when parsing the new runparts directive in finit.conf (tried to free a static string).
Release Notes: This release supports a new "runparts DIR" in finit.conf, prevents endless restarting of non-existing services in finit.conf, and supports sysvinit-style start-stop scripts in /etc/finit.d/. As a security fix, it doesn't start services which don't start with a slash.
Release Notes: The last piece of the big puzzle, a plugin resolver, has been added, capable of sysvinit-style dependency handling.
Release Notes: This release fixes the plugin loader. It uses the RTLD_GLOBAL flag to tell the dynamic loader to load dependent .so files as well. It fixes the I/O plugin watcher and load plugins earlier for a new hook. The process of refactoring helpers.c into a libite.so (-lite) has begun. This means other user space applications/daemons can make use of the toolbox available in finit. Uses short-form (-s/-w -u) to work with BusyBox hwclock as well. Greatly simplifies the svc hook for external plugins and cleans up the plugin API. Heavily tested on Debian 6.0 (IA32) and in an embedded setting (ARM v5 little-endian).