我有一个JFFS2文件系统,它是一个大端。
我的电脑:x86 Linux,little-endian。
我使用jffs2dump将我的JFFS2文件更改为小端。
例如:(#jffs2dump -c -v -b -e B070.jffs2 B070.w)。
出现了一些错误:
│错误的位掩码位于0x00b3ffd8,0x0000
│错误的位掩码位于0x00b3ffdc,0x0000
│错误的位掩码位于0x00b3ffe0,0x0000
│0x00b3ffe4,0x0000的错误位掩码
│0x00b3ffe8,0x0000的错误位掩码
│错误的位掩码位于0x00b3ffec,0x0000
│错误的位掩码位于0x00b3fff0,0x0000
│0x00b3fff4,0x0000的错误位掩码
│0x00b3fff8,0x0000的错误位掩码
│错误的位掩码位于0x00b3fffc,0x0000
│0x00b5fff4,0x0000的错误位掩码
│错误的位掩码位于0x00b5fff8,0x0000
│错误的位掩码位于0x00b5fffc,0x0000
│错误的位掩码位于0x00b7fffc,0x0000
│错误的位掩码位于0x00ba0000,0x8bf5
│错误的位掩码位于0x00ba0004,0x0000
│错误的位掩码位于0x00ba0008,0x0000
│错误的位掩码位于0x00ba000c,0x0000
│错误的位掩码位于0x00ba0010,0x0000
......
答案 0 :(得分:0)
这个问题相当陈旧,但我也为其他有此工具问题的人提供了答案。
我可以确认jffs2dump - 我的mtd-tools版本是1.5.0 - 已经坏了。您可以通过将工作图像从BE转换为LE并返回BE来进行检查。生成的图像不同但不应该。在我的情况下,在转换后的图像启动过程中,我收到了消息:
Unknown JFFS2 compression type 0x07
Error: jffs2_decompress returned -5
二进制diff显示某些0xC0变为0xE0。
此外,您可以看到使用-c开关的不同之处。如果我用它将工作的BE图像转换为LE,我根本就没有错误警告。如果我不使用它,我会遇到一些错误,如
Wrong hdr_crc
Unknown node type