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 easily choose between System V init
and systemd
with System V init
as the default. While Yocto's Poky-tiny distribution ships with BusyBox init
, most other distribution layers do not.
The following table gives some metrics to compare the three:
(*) BusyBox init
is part of BusyBox's single executable, which is optimized for size
on disk.
(**) 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
.