Bootloader是系统加电后运行的第一段软件代码,主要任务就是将内核映像从硬盘读到RAM中,然后跳转到内核的入口点去运行,也即开始启动操作系统。
简单的说,Bootloader就是在操作系统运行内核之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的硬件环境。
每种不同的cpu体系结构都有不同的bootloader,有些bootloader也支持多种不同体系结构的cpu,比如U-BOOT就同时支持ARM体系结构和MIPS体系结构。对于2块不同的嵌入式板而言,即使它们是基于同一种cpu而构建,要想让运行在一块板子上的bootloader程序也能 运行在另一块板子上,通常也要修改bootloader的源程序。