Introducing the init programs
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.