Summary
Every Linux device needs an init
program of some kind. If you are designing a system that 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 serious thought.
Meanwhile, System V init
lives on. It is well understood, and there are init
scripts already in existence for every component that is important to us. It remains the default init
for the Yocto Project reference distribution (Poky).
In terms of reducing boot time, systemd
is faster than System V init
for a similar workload...