制作‘空‘的jffs2格式的镜像

您所在的位置:网站首页 diskgenius写入img 制作‘空‘的jffs2格式的镜像

制作‘空‘的jffs2格式的镜像

2023-05-18 00:38| 来源: 网络整理| 查看: 265

需求:基于RK3308开发的镜像,用户分区(userdata)希望在烧写镜像的时候就全部初始化为0xFF,用户分区格式化为jffs2

实现方法:制作一个‘空’的,即全为0xFF的用户镜像,假设名称为sys_data.img,在烧写其他系统镜像的时候一同烧写

生成空的、指定大小的jffs2镜像

首先新建空文件夹,名称为jffs2 $ mkdir jffs2

然后执行如下命令: $ mkfs.jffs2 -r jffs2 -o user_data.img -e 0x10000 --pad=0x050000 -s 0x1000 -n

Mkfs.jffs2各参数的意义如下:

-r:指定要做成image的目录名。

-o:指定输出image的文件名。

-e, --eraseblock=SIZE:每一块要擦除的block size,默认是64KB.要注意,不同的flash, 其block size会不一样。在没有加-e选项是,启动会出现以下错误:at91sam user.warn kernel: Empty flash at 0x00f0fffc ends at 0x00f10000。因此,若有类似的错误,加上-e选项,并配置nandflash的块大小,即可消除。

--pad(-p):用16进制来表示所要输出文件的大小,也就是fs.jffs2的大小,如果实际大小不足此设定的大小,则用0xFF补足。也可以不用此选项,生成的文件系统的大小跟本身大小一致,暂时还不知道有和妙用,但是加上后会少出现很多错误。很重要的是, 為了不浪費flash空間, 這個值最好符合flash driver所規劃的區塊大小。如果不足则使用0xff来填充补满。

-n,-no-cleanmarkers:指明不添加清楚标记(nandflash有自己的校检块,存放相关的信息)。如果挂载后会出现类似:CLEANMARKER node found at 0x0042c000 has totlen 0xc != normal 0x0的警告,则加上-n就会消失。

-s, --pagesize=SIZE                   节点页大小(默认: 4KiB)

查看:确实是全为0xff

$ hexdump -C user_data.img 00000000  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................| * 00050000  



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3