uboot环境下更新系统镜像和设备树

一、uboot的烧写

1、直接将uboot烧写到SD卡中

有点在于SD卡使用比较方便,体积小。前期学习使用比较方便。

2、直接将uboot烧写到EMMC中

优点在于不用使用SD卡当中间介质,使用USB直连直接往EMMC里烧写uboot。

二、uboot环境下更新系统镜像和设备树

搭建了服务器和客户端的连接之后,可以利用NFS或者TFTP将ubuntu上的文件下载到DRAM中。通过其他命令可以实现在线更新uboot和系统镜像以及设备树文件。

1、网络更新镜像和设备树

(1)将文件从服务器下载到本地DRAM中(使用TFTP)

TFTP命令格式:tftpboot [loadAddress] [[hostIPaddr:]bootfilename]

tftp 80800000 zImage
tftp 83000000 imx6ull-14x14-emmc-7-800x480-c.dtb

将服务器zImage镜像文件下载得到DRAM中地址80800000处。
这样启动系统时候就将启动下载的zImage系统镜像和设备树文件,可以理解成一个在线更改系统的操作。但是由于是下载到DRAM中,所以重启的时候镜像文件会继续从SD卡里复制镜像过去而不会对板子上原有系统造成影响。

(2)启动系统:

bootz 命令:bootz [addr [initrd[:size]] [fdt]]

bootz 80800000 - 83000000

2、EMMC更新镜像和设备树

(1)确认所需文件存在EMMC中

先使用命令 fatls 查看要下 EMMC的分区1中有没有Linux镜像文件和设备树文件,如果没有的话可以使用fatwrite命令将 从tftpboot 中下载到DRAM的 zImage 和 imx6ull-alientek-emmc.dtb 文件烧写到 EMMC 的分区 1 中。
切换到EMMC分区1:mmc dev 1:1
查看分区中有无所需文件:fatls mmc 1:1
从服务器下载镜像和设备树:

tftp 80800000 zImage
tftp 83000000 imx6ull-14x14-emmc-7-800x480-c.dtb

烧写文件到EMMC分区1:
zImage 文件大小:Bytes transferred = 6786368 (678d40 hex)
设备树文件大小:Bytes transferred = 38823 (97a7 hex)

fatwrite mmc 1:1 80800000 zImage 0x678d40 
fatwrite mmc 1:1 83000000 imx6ull-14x14-emmc-7-800x480-c.dtb 0x97a7 

(2)下载镜像和设备树到DRAM

首先看一下两个函数:

//两个命令的参数说明
 fatload <interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]]
 fatwrite <interface> <dev[:part]> <addr> <filename> <bytes>

如果我们要从 EMMC 中启动 Linux 系统的话只需要使用命令 fatload 将 zImage 和 imx6ull-alientek-emmc.dtb 从 EMMC 的分区 1 中拷贝到 DRAM 中,然后使用命令 bootz 启动即可。

fatload mmc 1:1 80800000 zImage
fatload mmc 1:1 83000000 imx6ull-14x14-emmc-7-800x480-c.dtb

(3)启动系统

bootz 80800000 - 83000000

总结

确认在启动介质里烧写了uboot后,根据需要选择通过网络或者EMMC、SD卡等本地存储介质下载设备树文件和系统镜像到DRAM相应地址最终,文件系统也可以通过一样的流程进行下载。

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值