What is the bootloader boot process for embedded linux?

The embedded Linux system can be divided into four parts from a software point of view: the bootloader, the Linux kernel, the file system, and the application program.

When the system is first booted, or when the system is reset, the processor executes a piece of code that is located in a known location in Flash/ROM, and the bootloader is that first piece of code. It is mainly used to initialize the processor and peripherals, and then call the Linux kernel. the Linux kernel needs to mount a certain filesystem as the root filesystem after completing the initialization of the system, and then load the necessary kernel modules to start the application. This is the entire process of bootstrapping Linux for embedded Linux systems.

Bootloader boot method:

Network boot method. This way of development board does not need a large storage media, with a diskless workstation is somewhat similar, but the use of this boot method, you need to Bootloader installed on the board of the EPROM or Flash. Bootloader through the Ethernet interface to remotely download the Linux kernel image or filesystem. Bootloader to download the file are usually TFTP network protocol is used, and the IP address can also be configured dynamically by means of DHCP.

Hard disk boot

Traditionally, Linux has been run on desktop computers or servers that use a BIOS to boot and a disk as the storage medium. Bootloader). Both bootloaders are widely used on X86 Linux systems.

Flash boot method. Most embedded systems use Flash storage media, and there are many types of Flash, including NOR Flash, NAND Flash, and other semiconductor disks. The difference between them is that NOR Flash supports XIP (eXecute In Place), so that code can be executed directly on Flash without having to be copied to RAM. NAND Flash does not support XIP, so in order to execute code on NAND Flash, you must first copy it to RAM and then jump to RAM to execute it.NOR Flash is the most commonly used, and the bootloader is usually placed at the bottom or the top of the Flash, which needs to be set according to the processor's reset vector. It can be configured as an MTD device to access the Flash partition.