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.