Summary
Every Linux device needs an init
program of some kind. If you are designing a system which only has to launch a small number of daemons at startup and remains fairly static after that, then BusyBox init
is sufficient for your needs. It is usually a good choice if you are using Buildroot as the build system.
If, on the other hand, you have a system that has complex dependencies between services at boot time or runtime, and you have the storage space, then systemd
would be the best choice. Even without the complexity, systemd
has some useful features in the way it handles watchdogs, remote logging, and so on, so you should certainly give it a serious thought.
It is hard to make a case for System V init
on its own merits, since it has few advantages over the simple BusyBox init
. It will live on for a long time nevertheless, just because it is there. For example, if you are building using the Yocto Project and you decide against systemd
then System V init
is the alternative.
In terms of...