This article mainly introduces the relevant information about the detailed introduction of the linux startup process. Friends in need can refer to the following
linux startup processIntroduction
We all know that due to the stability of Linux, Linux is usually used as a server system. If you want to be a PHP master, Linux is a required course. So what exactly happens in the middle of the Linux system from booting to startup? This article will briefly explore the mysterious process in between.
1. BIOS power-on self-test
BIOS is the abbreviation of "Basic Input Output System" in English. In fact, it is a set of components solidified on the motherboard of the computer. A program on a ROM chip. The computer will first load the BIOS information. This is because the BIOS contains CPU-related information, device startup sequence information, hard disk information, memory information, clock information, etc. After this, the computer has a mental map and knows which hardware device it should read.
2. Load the master boot loader (MBR)
MasterBootRecord, which is the master boot record, its size is 512 bytes, Although the space is small, pre-boot information and partition table information are stored inside. The main bootloader is a 512-byte image. Contains a bit of machine code and a small partition. The task of the primary boot program is to find and load the secondary boot program located on the hard disk partition. Find the active partition through the partition table, and read the secondary boot loader in the active partition into the memory to run.
3. Boot loader
The bootloader is a small program that is executed before the operating system kernel runs. Through this small program, you can initialize hardware devices and establish a map of the memory space, thereby bringing the system's software and hardware environment to a suitable state to prepare for loading the kernel. Common bootloaders include Grub, Lilo and spfdisk
4. Loading the linux kernel image
After the user selects the kernel to be loaded, the secondary boot loader (GRUB) will According to the information set in /boot/grub.confconfig file, read the Linux kernel image from the partition where /boot/ is located, then load the kernel image into the memory and give control to Linux Kernel.
The linux kernel starts to do its own thing after gaining control
(1) Detect the hardware
(2) Unzip itself and Install the necessarydriver
(3) Initialize the virtual device related to the file system
(4) Mount the root file system and mount Under the root directory
(5) After completion, Linux loads the init program in the process space. Next, it is init’s turn to work. 5. init process init is the initiator and controller of all processes. All processes are Derived from this. After the init process gains control, it will execute the /etc/rc.d/rc.sysinit script, set environment variables , network, start swap, check and mount the file system, and perform other operations according to the code inside. Initialization work.
6. Customized startup program /etc/rc.local rc.local is the place where Linux leaves users to customize their own startup after all initialization work. You can put what you want to set up and start here.
7. Execute the /bin/login program and enter the login state
The above is the detailed content of A detailed introduction to the Linux startup process. For more information, please follow other related articles on the PHP Chinese website!