制作jffs2文件系统异常

在调试设备时发现在挂载业务分区的时候出现如下报错:

jffs2: Further such events for this erase block will not be printed
jffs2: Node at 0x001d8fac with length 0x000000ae would run over the end of the erase block
jffs2: Perhaps the file system was created with the wrong erase size?
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d9000: 0x558b instead
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d9004: 0x14f2 instead
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d9008: 0x8b8b instead
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d900c: 0x1553 instead
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d9010: 0x6c14 instead
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d9014: 0x0c0d instead
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d9018: 0x1474 instead
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d901c: 0x2a53 instead
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d9020: 0xf352 instead
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d9024: 0x3a06 instead
jffs2: Further such events for this erase block will not be printed
jffs2: Node at 0x001d9fd8 with length 0x00000046 would run over the end of the erase block
jffs2: Perhaps the file system was created with the wrong erase size?
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001da000: 0x2a49 instead
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001da004: 0xc697 instead
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001da008: 0x0002 instead
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001da00c: 0x0002 instead
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001da014: 0xa0c4 instead
jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001da018: 0xca61 instead

 通过百度搜索之后发现,可能存在文件系统制作的问题,我们文件系统制作非常简单

通过mkfs.jffs2 -d ./bin -o ./his.jffs2来生成文件系统镜像;

随后,我根据mfks.jffs2的一些拓展参数来进行设置,比如说设置页大小,设置flash分区大小
mkfs.jffs2 -d ./bin/ -e 0x10000 -p 0x3f0000 -o his.jffs2 -s 0x100

但是仍然不行,还是有上述的报错;

最后通过观察老的flash和新的flash参数上的不同,发现在能力集上可能存在不通,把sect_4k这个能力集给去掉后,恢复了正常;

这个问题解决了之后仍然有新的问题,在起了业务进程之后,发现一直在刷如下打印

jffs2: Node totlen on flash (0xffffffff) != totlen from node ref (0x000000c0)
jffs2: Node totlen on flash (0xffffffff) != totlen from node ref (0x000000bc)
jffs2: Node totlen on flash (0xffffffff) != totlen from node ref (0x000000c0)
jffs2: Node totlen on flash (0xffffffff) != totlen from node ref (0x000000bc)
jffs2: Node totlen on flash (0xffffffff) != totlen from node ref (0x000000c0)
jffs2: Node totlen on flash (0xffffffff) != totlen from node ref (0x000000bc)
jffs2: Node totlen on flash (0xffffffff) != totlen from node ref (0x000000c0)

 把新flash能力集与老的flash保持一致,仍然会出现异常报错,但老的flash在运行的过程中不会出现报错;

问题在解决中....

 

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值