009 Embedded Linux-ARM. StorageQueries and discussion related to usage of Linux on ARM based devices. Linux has been ported to a variety of CPUs which are not only primarily used as the processor of a desktop or server computer, but also ARM, AVR32, ETRAX CRIS, FR-V, H8300, IP7000, m68k, MIPS, mn10300, SuperH, and Xtensa processors, It is also used as an alternative to using a proprietary operating system and toolchain. » 009.01.Linux Boot Process
009.01.12.6. Explain the significance of the init process in the Linux boot process. How has it evolved in modern Linux distributions, and what role does systemd play in managing system initialization and services?
The init process is the first user-space process. It has a PID 1. In modern Linux distribution, it is known as systemd . System d manages system initialization and management of system services and processes.
When kernel is loaded into memory and initialized, it handover the control to the init process. Which is responsible to create user environment, initialize and manage system process and services. Modern linux distributions, init process is replaced by systemd process which is having process Id as PID1.
Init is parent of all Linux processes with PID or process ID of 1.
Syntax- init [OPTIONS...] {COMMAND}.
Init is the parent of all processes, executed by the kernel during the booting of a system. Its principle role is to create processes from a script stored in the file /etc/inittab. It usually has entries which cause init to spawn gettys on each line that users can log in. It controls autonomous processes required by any particular system.
Runlevel, a software configuration of the system which allows only a selected group of processes to exist. The processes produced by init for each of these runlevels are defined in the /etc/inittab file.
Init can be in one of these eight runlevels: 0-6 and S or s. The runlevel can be changed by having a privileged user run telinit, which sends appropriate signals to init, telling it which runlevel to change to.
Booting After invoking init as the last step of the kernel boot sequence, it sees if an entry of the type initdefault is present in the file /etc/inittab. The initdefault entry determines the initial runlevel of the system. If no such entry (or no /etc/inittab at all) is present there, a runlevel must be entered at the system console.