在openwrt中挂载JFFS2 FS

在openwrt中挂载JFFS2 FS

我正在尝试使用 128[MB] NAND 闪存(4 位 ECC)在 openwrt 环境中将 1[MB] 闪存安装为 JFFS2 FS。

我正在使用以下序列 -

flash_eraseall -j dev/mtd6

mount -t jffs2 -o noatime /dev/mtdblock6 /NAME_OF_MOUNT

运行此序列后,似乎安装已完成,我可以访问、读取和写入

到安装区域。

当我重新启动系统时,问题开始出现,在启动过程中出现以下消息:

jffs2: mtd->read(0x800 bytes from 0x60000) returned ECC error
jffs2: notice: (667) read_dnode: wrong data CRC in data node at 0x00060000: read 0xf7a2ee2c, calculated 0x2f2a8b04

我也尝试使用 mkfs.jffs2 创建 nvm.jffs2 文件并将其刻录到请求的分区 - 但问题仍然存在。

我会感激任何想法或想法。

提前谢谢大家!

答案1

该问题是由clearmarker 引起的。

在安装过程中,透明标记被设置在块的开头。

但是写入block时,oob数据被添加到了block的末尾

因此没有包含clearmarker,因此导致了错误的CRC数据报告。

快速WA是在启动时将clearmarker写入每个闪存块一次,然后clearmarker

将添加到其中,一切都会正常工作。

相关内容