安装 jffs2 时文件丢失或损坏

问题描述 投票:0回答:1

我在 NOR flash 上安装 jffs2 时遇到两个问题:

我正在运行一个以 squashfs 作为 rootfs 的板,我尝试将 jffs2 安装在另一个 mtdblock 上,如下所示:

 mount -t jffs2 /dev/mtdblock6 /tmp/jffs 


之后我将一些文件复制到 /tmp/jffs 中,但当文件大于 4096 字节时系统会给出错误:
 cp: write error: Input/output error 

然后我卸载了mtdblock并重新挂载了它,但是我刚刚复制的文件已经消失了。

我通过转储 /dev/mtd6 或 /dev/mtdblock6 确认闪存块已被写入,但重新挂载后看不到这些文件。

=====
我打开 printk 日志,当我将文件放入安装的文件夹中时,显示以下消息:

jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00120814: 0x0219 instead
Node totlen on flash (0x0000000c) != totlen from node ref (0x00000044)


当我尝试重新安装 mtdblock 时,出现以下消息:

JFFS2 notice: (608) jffs2_get_inode_nodes: Node header CRC failed at 0x0e0050. {0000,9600,01e88b11,01000000}




如果有任何建议,非常感谢。

linux embedded mount jffs2
1个回答
0
投票

我在u-boot/kernel中也遇到了这个问题,这是由地址模式引起的,spi Nor flash 3字节地址模式仅在16MB或以下使用,大小超过16MB必须将属性SPI_NOR_4B_OPCODES添加到spi_nor_ids[]定义中的nor flash定义中在 spin-nor.c

© www.soinside.com 2019 - 2024. All rights reserved.