System V init
This init
program was inspired by the one from Unix System V and so dates back to the mid 1980s. The version most often found in Linux distributions was written initially by Miquel van Smoorenburg. Until recently, it was the init daemon for almost all desktop and server distributions and a fair number of embedded systems as well. However, in recent years, it has been replaced by systemd, which I will describe in the next section.
The BusyBox init
daemon I have just described is just a trimmed down version of System V init
. Compared to the BusyBox init
, System V init
has two advantages. Firstly, the boot scripts are written in a well-known, modular format, making it easy to add new packages at build time or runtime. Secondly, it has the concept of runlevels, which allow a collection of programs to be started or stopped in one go when switching from one runlevel to another.
There are 8 runlevels numbered from 0 to 6, plus S:
S
: Runs startup tasks0
: Halts the system1
to5
: Available...