用U盘启动烧写rootfs

各位使用海思芯片的小伙伴们不知道有没有感觉用HiTool工具烧写很慢,有时候大文件烧写就更加让人无语了,最近我需要烧写一个1.5G的rootfs到hi3536单板上,单板使用emmc设备,烧写时使用HiTool工具烧写一半失败了。。。
有没有一种更加快速的方法实现烧写步骤呢?
后来摸索发现可以使用U盘进行快速的烧写,下面是烧写步骤。

  1. 该方法需要事先用HiTool工具烧写u-boot和内核。
  2. 把u盘插入电脑,在ubuntu(任意linux环境中)中格式化为ext4文件系统:mkfs.ext4 /dev/sda1 (不一定是sda1,看个人u盘设备节点情况)
  3. 下面是我的代码中文件系统目录。
    用U盘启动烧写rootfs
    在etc/init.d下的开机启动脚本中添加下面脚本:
    用U盘启动烧写rootfs
    编译时把文件系统打包成.tar.bz,拷贝这个压缩包到U盘,同时在U盘根目录下解压出来,记得压缩包不要删除:tar -jxf rootfs_hi3536_1.5G.tar.bz。
    用U盘启动烧写rootfs
  4. 新建一个文件夹:mkdir update,在该目录下新建一个脚本usb_burn.sh,编辑脚本:
    我这里做了烧录时显示动画,并且在升级烧录时可以选择性烧录uboot、kernel、rootfs,重点关注标注区,他主要是挂载emmc的一个分区,该分区就是你板端文件系统的分区,然后解压上面打包的rootfs到文件系统分区,就这么简单!!!
    将update文件拷贝到U盘根目录。
    用U盘启动烧写rootfs
  5. 板端插入u盘上电后启动进入uboot,设置bootargs:
    setenv bootargs ‘mem=640M console=ttyAMA0,115200 vmalloc=400M root=/dev/sda1 rootfstype=ext4 rw rootwait blkdevparts=mmcblk0:1M(boot),4M(kernel),1536M(rootfs),256M(log),2G(root),1G(opt)’
    主要把root改为:root=/dev/sda1,这样就会进入u盘启动,
    saveenv后重启。
  6. 重启后会进入U盘启动,会执行usb_burn.sh脚本,该脚本就会把u-boot,内核,rootfs写到emmc中,其中u-boot,内核直接用dd命令写入,rootfs是挂载后写入。
  7. 到此升级烧录就完成了,如果你没有重烧uboot记得要把ubbot环境变量改回来:root=/dev/mmcblk0p3

这是我写的第一篇博文,不足之处还请多多指导!!!希望以后分享更多东西给大家,
希望共同进步!!!
最近在学习caffe深度学习框架,等搞清楚算法模型生成,并移植人脸识别模型到海思平台后在分享给大家哈!!!