This patch fixes an ordering issue where the configuration generation is stepped before all old/disabled services had been stopped. Finit should ensure disabled services are stopped before entering the next generation. If the genation is stepped first, all conditions are put in "flux" state, so, e.g, a podman container running as a sysv service may lock-up until it is killed by Finit. Found in the Infix OS project. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Finit is an alternative to SysV init and systemd, focused on small and embedded Linux systems, although fully usable on server and desktop systems.
Reverse engineered from the EeePC fastinit
"gaps filled with frog DNA …"
— Claudio Matsuoka
For detailed information, explore our extensive documentation
📚 https://troglobit.github.io/finit/
For working examples, see the 🚀 contrib/ section or these tutorials:
- 🛠️ Buildroot embedded Linux,
- 📦 Debian GNU/Linux,
- ⛰️ Alpine Linux, and
- 🌌 Void Linux
Note
Support for various Linux distributions does not mean Finit installs easily on all architectures. Bundled install scripts are examples for standard installations, tested on amd64 (x86_64) systems. Custom setups, e.g., for embedded systems, can be found in the following Buildroot based examples: myLinux, Infix, or the plain br2-finit-demo.

