u-boot script 简单使用
1. u-boot script (Hush Shell)
u-boot 脚本语法参照 Hush Shell,和bash还是比较相似的。
下记网站非常好用,记录了uboot脚本支持的命令,还带有使用方法。(具体uboot的支持命令,根据不同的开发板还是有差异的)
※https://u-boot.readthedocs.io/en/latest/usage/index.html#shell-commands
2 u-boot script 的作成 (切换一个设备树)
这里只是脚本内容的作成,实际要使用还需要编译。
使用u-boot脚本进行一个内核设备树的切换,在内核启动前,传入指定设备树。
myscript.sh(名字随意)
dtb_file=imx8mp-newname.dtb
# 检测设备树是否存在
if test -e ${devtype} ${devnum}:${distro_bootpart} /${dtb_file}
then
# 设置设备树
setenv fdtfile ${dtb_file}
saveenv
else
setenv imx8mp-evk.dtb
fi
# 从mmc启动mmc dev ${mmcdev}
if mmc rescan
then
if run loadimage
then
run mmcboot
fi
fi
3 u-boot script 执行文件的作成
3.1下载 mkimage 工具(ubuntu中,apt直接下载)
3.2 使用工具编译($mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d myscript.sh boot.scr)
选项的含义可以使用命令($mkimage -h)查看 不详细解释
4 u-boot script执行文件的使用
生成的文件boot.scr(我使用的nxp开发板必须是这个名字,uboot代码里指定的,别的我不确定)放到sd卡的boot那个 partition 中,就是放置image dtb文件的那里就可以。
mmc的话,也添加在放image dtb等文件的那个地方 。
以后启动就会执行你的uboot脚本。