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 ...

Get Mastering Embedded Linux Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.