The three init
programs that you are most likely to encounter in embedded devices are BusyBox init
, System V init
, and systemd
. Buildroot has options to build all three with BusyBox init
as the default. The Yocto Project allows you to choose between System V init
and systemd
, with System V init
the default.
The following table gives some metrics to compare the three:
BusyBox init |
System V init |
systemd | |
---|---|---|---|
Complexity |
Low |
Medium |
High |
Boot-up speed |
Fast |
Slow |
Medium |
Required shell |
ash |
ash or bash |
None |
Number of executables |
0 |
4 |
50(*) |
libc |
Any |
Any |
glibc |
Size (MiB) |
0 |
0.1 |
34(*) |
(*) Based on the Buildroot configuration of system
.
Broadly speaking, there is an increase in flexibility and complexity as you go from BusyBox init
to systemd
.