Influenced by the programming thinking of small CPU devices such as MCU and ARM7, we began to have doubts about the Bootloader/bios meaning of embedded Linux and PC.
Is there any need for bootloader to exist? The answer is: most of the cases are necessary.
First, the role of bootloader is in the hardware store running after the first software code, also known as the bootloader, is running in the operating system kernel before running a small program, the role of the small program is generally initialized hardware devices, such as memory ah, stacks and so on, This allows the system's hardware environment to be programmed in a suitable state and then booted into the operating system, such as Linux or Windows.
At first glance, it's actually very useful, but it must be. Obviously not, because you can fully power on the operating system directly, of course, the beginning of this operating system must include the above bootloader features. This can be understood in the microcontroller and ARM7 using the Keil programming environment.
However, the problem comes if we want to upgrade the operating system. We want to upgrade the application. This is common for Windows or Linux, and if there is no bootloader, then we have to find a burn-and-write tool that burns a computer or CPU, in fact, it's not an easy thing for a manufacturer to do. But the Bootloaer is very convenient, we just need to put the upgraded operating system into the "hard disk" or a location in the Nandflash, and then restart the power outage, bootloader can boot the system at the same time, completed the upgrade of the operating system. This is not very convenient.
Follow-up, there are some mobile phone manufacturers bootloader "lock", this is equivalent to bootloader boot on the lock, upgrade the operating system if it is home, naturally there is "unlock" the key, but it is the other home, it will not.