概述
Das U-Boot, 通常叫做U-Boot, 嵌入式系统的常用bootloader. U-Boot允许使用SD卡上单个指定文件的内容作为额外的启动参数, 为树莓派增加不少灵活性.
本文将详细介绍如何让U-Boot运行在树莓派上, 以及通过SD卡或者从网络走TFTP服务器来启动镜像.
准备U-Boot镜像文件获得源码
现在U-Boot的主分支还不支持树莓派. 我们需要从GitHub上Gonzoua的分支获取代码. 请注意显示为默认的’master’分支是未修改的U-Boot代码 – 我们需要用’rpi’分支获取正确的代码.
你可以通过此链接下载源码的压缩包.
编译源码
首先, 我们需要导出交叉编译器的前缀来指定树莓派. 如果你的gcc库为arm-none-linux-gnueabi-gcc, 运行命令:
CROSS_COMPILE=arm-none-linux-gnueabi-
export CROSS_COMPILE
然后在U-Boot源码目录中, 运行下列命令开始编译:
make rpi_b
整个编译过程应该花不了几分钟时间.
编译镜像文件
不知道如何编译内核的同学请移步内核编译. u-boot.bin文件应该用作输入文件.
在编译完成后, 把kernel.img文件移动到SD卡上. 最好把镜像文件名改成类似uboot.img, 和实际内核镜像区分开来. 在config.txt文件中加上:
kernel=uboot.img
测试镜像
树莓派将会