Looking at the end of the Linux kernel in-depth understanding of the introduction of the Linux startup process, let me understand the following to write it:
- BIOS (Hardware power-on self-test post, looking for the first boot device)
- The boot loader (can boot from the hard disk can also be from the floppy disk, this step to load the kernel into memory)
- Setup function (checks the hardware device and executes the set environment for the kernel thread)
- Setup32 function (with two SETUP32 functions)
- First SETUP32 (unzip the kernel screen to see the decompression complete, jump to the physical address 0x00100000 run the second SETUP32 function)
- Second SETUP32 (Setting the execution environment for process 0)
- Start_kernel function (initialization of the kernel, starting most of the kernel components, with process 1 running/sbin/init to start the appropriate startup program)
Linux startup process