Credit: https://systemd.io
How do you start a computer? “Press the power button!” is not a valid response. Most of you know that the firmware loads the kernel, which in turn hands it over to the system. Maybe you know that it starts process one, aka PID=1, and that this process is the key not just to booting fast and securely, but also to keep all things running.
As expected with Linux, you have many options to handle your own boot. Even the distinction that PID=1 also handles services and other things is not always a given. It started with shell scripts, which users and administrators enhanced with SysV, and via other ideas we mostly now use Systemd.
That is almost a universal Linux truth, but nothing is ever certain in our world, so new ideas have come out. We’ll cover here what changes there have been, where it got us and a hint about things to come.
To start: history
In the early days of Unix, the system would start with init as process number one. The process number one is still the way your computer starts. Originally, the init ran shell scripts to run everything. This worked well for the small systems of the time, though even then it had limitations. One major limitation is that they run one after another. If one script fails, the whole boot fails. And when one script starts slowly, the whole boot slows down. As systems became bigger and needed more services running, administrators needed to manage services from boot and