“Elegance is not a dispensable luxury” — Edsger Wybe Dijkstra

Finit | Fast & Extensible Init for Linux

Fork me on GitHub

Finit is a SysV init replacement with process supervision similar to that of daemontools and runit. Its focus is on small and embedded GNU/Linux systems, yet fully functional on standard server and desktop installations.

Finit is optimized for small embedded systems by heavily reducing the amount of context switches, forks, and calls to external tools. Services are supervised and automatically restarted if they fail.

Finit supports basic runlevels, basic process monitoring of daemons, can launch services on demand (built-in inetd support). It can be extended with custom callbacks for all services, hooks into the boot process, or plugins to extend the functionality and adapt your boot process to fit your needs.

Finit starting a Debian 6.0 system

This project is the continuation of the original finit by Claudio Matsuoka, which was reverse engineered from syscalls of the ground breaking EeePC fastinit daemon – “gaps filled with frog DNA …”

Issue tracker and GIT repository available at GitHub:

See also the Free(code) page.