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 the init
BusyBox as the default. The Yocto Project allows you to choose between the System V called init
and systemd
with System V init
as the default.
The following table gives some metrics to compare the three:
Metric | 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 systemd
.
Broadly speaking, there is an increase in flexibility and complexity as you go from BusyBox init
to systemd
.