iTOP-4412开发板-uboot-烧写大于300M文件的方法

iTOP-4412 开发板,在使用自带 uboot 烧写文件系统的时候,如果文件系统大于
300M,会出现无法烧写的情况。我们可以通过分段烧写的方式来烧写大文件系统,uboot 源
码和镜像默认已经支持这个功能。
本文档以 Qt 为例,Android 系统和根文件系统也是可以采用分段烧写的方式。
1 fastboot 工具的更新
首先需要用高版本的 fastboot 工具,和文档打包在一起的“fastboot.zip”压缩包是高
版本 fastboot,使用这个 fastboot 工具替换 4412 默认的烧写工具。
解压高版本的 fastboot 压缩包,打开之后,使用命令“fastboot.ext -help”,如下图所
示。

如下图所示,可以看到有-S 参数,表明支持分段烧写功能,如下图所示,这个功能老版
本的 fastboot 是没有的。

2 编译和烧写命令
如下图所示,作者将 Qt 文件系统中放了几个重复的大文件,确保压缩包大于 300M,如
下图所示。

未打包的 root 文件为 420M。

如果文件太大,编译打包命令也要修改下,默认的打包命令是“make_ext4fs -s -l
314572800 -a root -L linux system.img root”。
注意上面的 314572800,314572800=1024*1024*300,也就是 300M,现在是
420M,肯定打包不了。
我们将命令修改为能够打包 900M 的,943718400=1024*1024*900
“make_ext4fs -s -l 943718400 -a root -L linux system.img root”。
如下图所示,使用 900M 的命令编译通过。

一般情况下,900M 的文件系统已经很大了,如果需要更大的,用户可以自己修改这个参
数。
接着介绍烧写,在烧写前,介绍下分区参数,如果文件系统太大(例如大于 1G),那么
分区的时候也要修改下,如下图所示,进入 uboot 模式,使用命令“fdisk -c 0 2048 300
300”,将文件系统分区为 2G。

接着用户执行分区格式化命令。
fatformat mmc 0:1
ext3format mmc 0:2
ext3format mmc 0:3
ext3format mmc 0:4
最后我们测试下烧写,如下图所示,作者要烧写的 system.img 大于 300M。

打开 cmd.exe,如下图所示,使用命令“fastboot.exe flash system system.img -S
200M”,分段烧写,每次烧写 200M 的二进制文件。

如上图所示,可以看出它分为多段来烧写。
烧写完成之后,重启开发板,进入文件系统,可以正常运行,烧写大文件完成,如下图所
示。

 

转载于:https://www.cnblogs.com/mingyue77/p/11199433.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值