Booting process of Linux: Difference between revisions

Content deleted Content added
m Kernel phase: clarify overview
Init process: explain init better
Line 63:
|}
 
Init's job is "to get everthing running the way it should be" <ref name="p2b_6">http://axiom.anu.edu.au/~okeefe/p2b/power2bash/power2bash-6.html</ref> once the kernel is fully running. Essentially it establishes and operates the entirety of [[user space]]. This includes checking and mounting [[file system]]s, starting up necessary user [[services]], and ultimately switching to a user-based environment when system startup is completed. It is similar to the [[Unix]] and [[BSD]] init processes, from which it derived, but in some cases has diverged or become customized. In a standard Linux system, Init is executed with a parameter, known as a [[runlevel]], that takes a value from 1 to 6, and that determines which subsystems are to be made operational. Each runlevel has its own [[script]] which codifies the process involved for the given runlevel, and it is these scripts which are referenced as necessary in the boot process. Init scripts are typically held in directories with names such as <code>"/etc/rc..."</code>. Corresponding scripts also exist to direct the process required when leaving each runlevel. The top level configuration file for init is at <code>/etc/inittab</code>.<ref name="p2b_6" />
 
During system boot, it checks whether a default runlevel is specified in /etc/inittab, and requests the runlevel to enter via the system [[console]] if not. It then proceeds to run all the relevant boot scripts for the given runlevel, including loading [[module]]s, checking the integrity of the root file system (which was mounted read-only) and then remounting it for full read-write access, and sets up the [[newtowrking|network]].<ref name="oldfield" />