boot 命令也是用来启动 Linux 系统的,只是 boot 会读取环境变量 bootcmd 来启动 Linux 系统,bootcmd 是一个很重要的环境变量!其名字分为“boot”和“cmd”,也就是“引导”和“命令”,说明这个环境变量保存着引导命令,其实就是启动的命令集合,具体的引导命令内容是可以修改的。

比如我们要想使用 tftp 命令从网络启动 Linux 那么就可以设置 bootcmd 为“tftp 80800000 zImage; tftp 83000000 imx6ull-alientek-emmc.dtb; bootz 80800000 - 83000000”,然后使用 saveenv 将 bootcmd 保存起来。然后直接输入 boot 命令即可从网络启动 Linux 系统,命令如下:

setenv bootcmd 'tftp 80800000 zImage; tftp 83000000 imx6ull-alientek-emmc.dtb; bootz

80800000 - 83000000'

saveenv

使用print命令查看设置好的环境变量。

设置好之后,可以使用print命令查看环境变量。当运行boot命令时,就会执行bootcmd 这个字符串的的命令。

下来输入boot命令,就可以直接启动系统了。

以后系统每次开机后,boot命令就会自动运行,使用tftp命令从网络上下载镜像文件和设备树文件。当然前提是网络是正常的,同时在Ubuntu系统中的tftpboot文件夹中有镜像文件和设备树文件。

  如果开机想从EMMC启动,可以直接修改环境变量bootcmd的值,将其设置为从EMMC启动。

  要设置从EMMC中启动,首先要先确定一下EMMC中存储的镜像名称和设备树名称。否则文件名设置不对,启动就会失败。

在串口终端中输入命令:

 fatls mmc 1:1

查看文件名

确定好文件名之后,就可以设置命令了。

 设置命令

setenv bootcmd 'fatload mmc 1:1 80800000 zImage; fatload mmc 1:1 83000000 imx6ull-14x14-emmc-4.3-480x272-c.dtb; bootz 80800000 - 83000000'

savenev

 

可以使用print命令查看一下设置的环境变量是否正确。

设置好环境变量之后,使用reset命令重启开发板。

这时系统就会自动从EMMC中下载镜像文件好设备树文件,然后启动。可以看到系统从EMMC中下载文件的速度是非常快的。

Logo

更多推荐