init process and Linux runlevels
Once kernel and drivers are loaded, Linux starts loading the rest of the system. This starts with the First Process, known as init and it has the process id of 1 (the kernel itself has the process id of 0, which cannot be displayed by using the "ps" command).
The init process takes control of the boot operation. The init process in turn runs /etc/rc.d/rc.sysinit, which performs a number of tasks, including network configuration, SELinux status, keyboard maps, system clock, partition mounts, and host names.
The runlevels are controlled by a configuration file which init process reads from the location /etc. The name of the init configuration file is "inittab".
The init process then determines the runlevel by looking at the initdefault directive in /etc/inittab configuration file. The following are the defined runlevels. The init process remains active as long as the system is running.
Runlevel value |
Description |
0 |
Halt |
1 |
Single-user mode |
2 |
Multiuser, with some network services |
3 |
Multiuser, with networking |
4 |
Unused |
5 |
Full Multiuser mode with X Windows (GUI login screen) |
6 |
Reboot |