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.