jffs2dump 出了点问题,将 JFFS2 文件系统更改为 little-endian 文件

Posted

技术标签:

【中文标题】jffs2dump 出了点问题,将 JFFS2 文件系统更改为 little-endian 文件【英文标题】:something wrong about jffs2dump change a JFFS2 file system to a little-endian file 【发布时间】:2012-10-24 06:56:19 【问题描述】:

我有一个 JFFS2 文件系统,它是一个大端序。

我的电脑:x86 Linux,little-endian。

我使用 jffs2dump 将我的 JFFS2 文件更改为 little-endian。

例如:(#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 位掩码错误 ......

【问题讨论】:

【参考方案1】:

这个问题比较老了,但我也为其他遇到此工具问题的人提供了答案。

我可以确认 jffs2dump - 我的 mtd-tools 版本是 1.5.0 - 已损坏。您可以通过将工作图像从 BE 转换为 LE 再转换回 BE 来检查这一点。生成的图像不同,但不应该。就我而言,在启动转换后的图像期间,我收到了以下消息:

Unknown JFFS2 compression type 0x07
Error: jffs2_decompress returned -5

二进制差异显示一些 0xC0 变为 0xE0。

此外,您还可以看到使用 -c 开关的不同之处。如果我使用它将工作的 BE 图像转换为 LE,我根本不会收到错误警告。如果我不使用它,我会收到一些错误,例如

Wrong hdr_crc
Unknown node type

【讨论】:

以上是关于jffs2dump 出了点问题,将 JFFS2 文件系统更改为 little-endian 文件的主要内容,如果未能解决你的问题,请参考以下文章

条纹结帐:出了点问题

github上传apk:出了点问题

使用打字稿的反应表出了点问题

DataTrigger和Storyboard出了点问题

当我点击一个项目时:500 哎呀,我们这边出了点问题

内核在Linux内核中添加对jffs2的支持