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是一个典型的免费软件项目