烧写jffs2文件系统后inode不对应的问题

潇雨zp 2016-05-25 08:29:24
openwrt里用mtd erase和mtd write命令烧写文件系统分区,之后reboot失败

[ 384.180161] JFFS2 notice: (1597) jffs2_get_inode_nodes: Node header CRC failed at 0x427e74. {056b,f19c,c03ba9ed,8f67de9f}
[ 384.192571] Node totlen on flash (0xc03ba9ed) != totlen from node ref (0x00000054)
[ 384.200668] JFFS2 warning: (1597) jffs2_do_read_inode_internal: no data nodes found for ino #393
[ 384.209501] iget() failed for ino #393
reboot: Input/output error

怀疑是jffs2文件系统烧写之后,内存中的节点信息和flash中的不对应,找不到reboot命令。不知道自己理解对不对,请问各位大神有什么好的解决办法?
...全文
1037 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
潇雨zp 2016-07-23
  • 打赏
  • 举报
回复
最终解决办法:参考openwrt的sysupgrade脚本,先将运行的进程kill,然后在内存中建立一个临时的ramfs,切换文件系统根目录到内存之后再用mtd命令擦写rootfs分区。
潇雨zp 2016-06-01
  • 打赏
  • 举报
回复
解决办法:reboot 命令实际上是指向 busybox 的链接,/tmp 目录运行在内存中。将 /bin 目录下的 busybox 复制到 /tmp 目录下,然后在 /tmp 目录下执行 ./busybox reboot,即可重启系统。

684

社区成员

发帖
与我相关
我的任务
社区描述
智能路由器通常具有独立的操作系统,包括OpenWRT、eCos、VxWorks等,可以由用户自行安装各种应用,实现网络和设备的智能化管理。
linuxpython 技术论坛(原bbs)
社区管理员
  • 智能路由器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧