1、bootcmd 保存着 uboot 默认命令,uboot 倒计时结束以 后就会执行 bootcmd 中的命令。
完整命令:
setenv bootcmd 'mmc dev 1; fatload mmc 1:1 80800000 zImage; fatload mmc 1:1 83000000 imx6ull alientek-emmc.dtb; bootz 80800000 - 83000000;'
解释:
mmc dev 1 //切换到
EMMC
fatload mmc 1:1 0x80800000 zImage //读取
zImage
到
0x80800000
处
fatload mmc 1:1 0x83000000 imx6ull-14x14-evk.dtb //
读取设备树到
0x83000000
处
bootz 0x80800000 - 0x83000000 //启动
Linux
2、bootargs 保存着 uboot 传递给 Linux 内核的参数。
setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'
root
用来设置根文件系统的位置,
root=/dev/mmcblk1p2
用于指明根文件系统存放在
mmcblk1
设备的分区
2
中。
3、
EMMC
启动
Linux
系统
setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'
setenv bootcmd 'mmc dev 1; fatload mmc 1:1 80800000 zImage; fatload mmc 1:1 83000000
imx6ull-alientek-emmc.dtb; bootz 80800000 - 83000000;
saveenv
设置好以后直接输入
boot
,或者
run bootcmd
即可启动
Linux
内核,如果
Linux
内核启动成
功的话就会输出如图
所示的启动信息:
4、
从网络启动
Linux
系统
从网络启动 linux 系统的唯一目的就是为了调试,加快调试速度效率。
先将 zImage 和设备树文件放到 Ubuntu 下的 tftp 目录中
setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'
setenv bootcmd 'tftp 80800000 zImage; tftp 83000000 imx6ull-alientek-emmc.dtb; bootz
80800000 - 83000000'
saveenv
之后执行boot或者run bootcmd,会出现如下界面:
下载完成以后就是启动 Linux 内核: