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脚本。
 
posted on 2022-11-10 16:36  Ctrl攻城狮  阅读(1550)  评论(0编辑  收藏  举报