我在 NOR flash 上安装 jffs2 时遇到两个问题:
我正在运行一个以 squashfs 作为 rootfs 的板,我尝试将 jffs2 安装在另一个 mtdblock 上,如下所示:
mount -t jffs2 /dev/mtdblock6 /tmp/jffs
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}
我在u-boot/kernel中也遇到了这个问题,这是由地址模式引起的,spi Nor flash 3字节地址模式仅在16MB或以下使用,大小超过16MB必须将属性SPI_NOR_4B_OPCODES添加到spi_nor_ids[]定义中的nor flash定义中在 spin-nor.c