Reprint Please specify the Source:Jiq ' s technical Blog
(1) Initialization of the CPU itself:
A series of initialization work is required after CPU power is added.
(2) CPU load BIOS ( basic inputoutput System " :
CPU performs a fixed position Span style= "Font-family:"times new roman"" > ( 0xfffffff0" bios code header. bios Curing on the motherboard a very small rom
(a) power-on self-test (POST) : Complete System hardware ( memory, system bus, etc. " detection;
(b) Load kernel boot program: reads the master boot record MBR ( The first sector of the boot device ), andtheMBR saves at the beginning of thekernel boot program, theBIOS loads the MBR and executes it.
(3) boot loader load kernel image :
The kernel boot program is divided into two phases:
(a) The master boot program scans the partition table and loads the secondary boot program in the active partition boot record into memory and executes;
(b) The secondary boot loader is responsible for loading the kernel image into memory;
(4) The kernel image starts to work:
self-extracting, and then calling init/main.c in the Start_kernel () function execution;
At this point the kernel boot process has ended, the following into the kernel initialization process!!!
the initialization of the kernel takes Start_kernel () function starts until the first user process Init End:
(1) Start_kernel () function: the man function that corresponds to the entire initialization of the kernel .
Completion of most of the kernel initialization work, mainly storage management, device management, file management, process management, such as the initialization of tasks;
(2) Reset_init () function: Subsequent initialization, called by the Start_kernel () function;
(3) Kernel_init () function: completes initialization of the device driver and invokes the init_post () function to start the init in user space process;
(4) Init_psot () function: starts the init process in user space ,theinit standard location in /sbin/init, theinit process reads the /etc/inittab file to trigger such as accepting user login, Set up the keyboard, network, and other processes. This system has been successfully started!!!
Linux kernel (i) system boot process