This commit activates the use of clone3() for service_fork(), to allow Linux to create the new process directly in the correct cgroup instead of later moving it there -- much cheaper and less error prone. To facilitate this a few new helper cgroup functions have been added and two new configuration directives introduced: delegate and name:leafname. The delegate option is for running, e.g., container runtimes that want to create their own cgroup v2 structur, and the name:leafname allows a user to change the name of the subgroup under user/system/init. 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
📚 http://finit-project.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.

