写点什么

Linux Lab 进阶: Uboot 引导程序

用户头像
贾献华
关注
发布于: 2021 年 02 月 05 日

从当前支持 U-boot 的板子:versatilepb 和 vexpress-a9 中选择一款:


make BOARD=vexpress-a9
复制代码

下载 Uboot:


make uboot-source
复制代码

检出一个特定的版本(版本号在 boards/<BOARD>/Makefile 中通过 UBOOT 指定):


make uboot-checkout
复制代码

应用必要的补丁修改,可以指定 BOOTDEV 和 ROOTDEV 两个选项设置,如果不指定则缺省值使用 flash


make uboot-patch
复制代码

如果要明确指定值为 tftpsdcard 或 flash,则必须在输入 uboot-patch 之前运行 make uboot-checkout


make uboot-patch BOOTDEV=tftpmake uboot-patch BOOTDEV=sdcardmake uboot-patch BOOTDEV=flash
复制代码

BOOTDEV 用于设定 uboot 的存放设备以便从该设备引导,ROOTDEV 用于告诉内核从哪里加载 rootfs。


配置 U-boot:


make uboot-defconfigmake uboot-menuconfig
复制代码

编译 U-boot:


make uboot
复制代码

使用 BOOTDEV 和 ROOTDEV 引导,缺省采用 flash 方式:


make boot U=1
复制代码

显式使用 tftpsdcard 或 flash 方式:


make boot U=1 BOOTDEV=tftpmake boot U=1 BOOTDEV=sdcardmake boot U=1 BOOTDEV=flash
复制代码

我们也可以在启动引导阶段改变 ROOTDEV 选项,例如:


make boot U=1 BOOTDEV=flash ROOTDEV=/dev/nfs
复制代码

执行清理,更新 ramdisk, dtb 和 uImage:


make uboot-images-cleanmake uboot-clean
复制代码

保存 uboot 镜像和配置:


make uboot-savemake uboot-saveconfig
复制代码


发布于: 2021 年 02 月 05 日阅读数: 20
用户头像

贾献华

关注

及时当勉励 岁月不待人 2018.06.04 加入

https://2020.iosdevlog.com

评论

发布
暂无评论
Linux Lab 进阶: Uboot 引导程序