X-Loader或U-Boot SPL:从SRAM运行。初始化DRAM,NAND或MMC控制器,并加载辅助将引导程序加载到RAM中并启动它。没有用户互动的可能。文件名为MLO。
U-Boot:从RAM运行。初始化其他一些硬件设备(网络,USB等)。从存储或加载内核映像网络到RAM并启动它。具有提供的命令的Shell。该文件一般名为u-boot.bin或u-boot.img。
Linux内核:从RAM运行。完全接管系统(引导程序不再存在)。
1.2.3 MarvellSoCs 的引导
ROM代码:尝试从各种方法中找到有效的引导影像
存储源,并将其加载到RAM中。RAM配置为在特定于CPU的标头中进行了描述,该标头已添加到引导加载程序中图片。
U-Boot:从RAM运行。初始化其他一些硬件设备(网络,USB等)。从存储或加载内核映像网络到RAM并启动它。具有提供的命令的Shell。文件名为u-boot.kwb。
Linux内核:从RAM运行。完全接管系统(引导程序不再存在)。
1.2.4 常见嵌入式处理器的bootloader
本文将重点介绍通用部分,即主要的引导加载程序重要功能。有几种开源的通用引导加载程序。以下是最受欢迎的:
U-Boot,Denx的通用引导程序
最常用于ARM,也可用于PPC,MIPS,x86,m68k,NIOS等。
如今已成为事实上的标准。我们将详细研究它。
http://www.denx.de/wiki/U-Boot
Barebox,与体系结构无关的引导程序,是U-Boot的后继产品。它尚不具备U-Boot的硬件支持。U-Boot改善了非常感谢这位竞争对手。
http://www.barebox.org
还有很多其他开源或专有的引导程序,通常特定于架构。如RedBoot,Yaboot,PMON等
2. U-Boot
2.1 介绍
U-Boot是一个典型的免费软件项目