打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
制作jffs2.img文件系统,打包下载flash系统镜像

1、根文件系统rootfs制作jffs2.img镜像

Flash支持jffs2文件系统格式,所以需要使用此该rootfs制作jffs2文件系统镜像

//使用工具sudo apt-get install mtd-utils

操作步骤

sudo tar xzvf rootfs-brmin.tar.gz -sudo mkfs.jffs2 -s  -e  -p  -d rootfs/ --s  -e  -p  -d rootfs/ -o jffs2.img

  • -p 指的是rootfs占据的总空间:16M-1M-64K-4M=0xAF0000 或者 32M-1M-64K-4M=0x1AF0000   

  • -s 页大小0x100 256字节

  • -e 块大小0x10000 64k

  • -o jffs2.img是生成的文件系统镜像。

2、uboot,dtb,kernel,rootfs(jffs2.img)打包系统镜像

最后将uboot,dtb,kernel,rootfs打包成一个系统镜像,命令如下:

dd =/dev/zero of=flashimg.bin  count==u-boot/u-boot-sunxi-with-spl.bin of=flashimg.bin bs=1K =linux-zero-.y/arch/arm/boot/dts/sun8i-v3s-licheepi-zero-dock.dtb of=flashimg.bin bs=1K   conv==linux-zero-.y/arch/arm/boot/zImage of=flashimg.bin bs=1K seek=  conv==jffs2.img of=flashimg.bin  bs=1K seek=  conv=notrunc

=;c=;k=;w=. ,缺省为标准输入。即指定源文件。< =input file >. ,缺省为标准输出。即指定目的文件。< =output file >.  ibs===bytes:同时设置读入/.  cbs=.  skip=.  . count=. conv=

第一步:生成一个空文件,大小是16MB
第二步:将uboot添加到文件开头
第三步:将dtb放到1M偏移处
第四步:将kernel放到1M+64K偏移处
第五步:将rootfs放到1M+64K+4M偏移处
偏移大小是seek,单位是KB。

执行完毕后生成镜像文件flashimg.bin

一键生成镜像文件参考:https://blog.csdn.net/qq_40860568/article/details/100153681

2、通过FEL模式下载镜像【全志cpu】

下载sunxiflash烧写工具,安装与下载参考:https://blog.csdn.net/qq_40860568/article/details/100519832

进入fel模式

Zero有一个usb下载模式称为fel模式,进入fel模式有下面几种方式:

1:TF卡和spi flash 同时没有可启动镜像:也就是说你不插SD卡,且焊接的是新的或者没有有效镜像的spi flash,那就上电自动进入fel下载模式

:2:SD卡中有进入fel模式的特殊固件 fel-sdboot.sunxi :如果你的spiflash已经有了启动镜像,那么需要在TF卡中烧入一个sunxi提供的启动工具(dd if=fel-sdboot.sunxi of=/dev/mmcblk0 bs=1024 seek=8),那么插入该TF卡启动会进入fel模式;

3:上电时SPI_MISO拉低到GND,通常使用此方法最为方便。该引脚为boot引脚,上电时出于低电平即会进入fel下载模式。

sunxi-fel的操作

进入fel模式后使用usb数据线连接pc和zero,即可进行操作。

=(V3s)  ver=   scratchpad=00007e00   bytes.
sudo sunxi-fel -p spiflash-write 0 flashimg.bin# -p 显示进度条#    spiflash-info                     显示flash信息 Retrieves basic information#    spiflash-hex[dump] addr length    读 Dumps SPI flash region in hex#    spiflash-read addr length file    写 Write SPI flash contents into file#    spiflash-write addr file          写 Store file contents into SPI flash

 在unbuntu下面批量输入命令操作

当我们对这些命令的使用率较高,而且这些命令又是顺序执行的时候,就不妨写个脚本,一键执行。

在开发全志V3s时,就需要制作系统镜像,每次复制粘贴真是及其麻烦。
不多说,直接上代码:
首先创建sh文件:gedit makeimg.sh
打开makeimg.sh编辑窗口后,粘贴下面代码:

#!/bin/bashdd if=/dev/zero of=flashimg.bin bs=32M count=1 &&dd if=u-boot/u-boot-sunxi-with-spl.bin of=flashimg.bin bs=1K conv=notrunc &&dd if=linux/arch/arm/boot/dts/sun8i-v3s-licheepi-zero-dock.dtb of=flashimg.bin bs=1K seek=1024 conv=notrunc &&dd if=linux/arch/arm/boot/zImage of=flashimg.bin bs=1K seek=1088  conv=notrunc &&dd if=jffs2.img of=flashimg.bin  bs=1K seek=5184  conv=notrunc说明:第一行是脚本声明,下面就是你想要执行的命令,可以根据需要换成自己的命令,不过千万注意,每个命令后,记得加个“&&”,作用就是区分相邻的命令和使命令顺序执行。————————————————版权声明:本文为CSDN博主「@技术小白」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_40860568/article/details/100153681
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
单眼皮的青蛙 | 构建嵌入式Linux系统-根文件系统的设置
各种文件系统
【精品博文】为Miz702制作ramdisk文件系统(下)
再也不用花钱买开发板了,自己搭建arm模拟器!
制作并且烧写 jffs2 文件系统镜像
openwrt x86 版本问题咨询。求高手详解。
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服