您尚未登录。

楼主 # 2024-02-27 01:12:58

willX
会员
注册时间: 2019-09-06
已发帖子: 45
积分: 29

硬盘损坏,更新了mango R3的镜像后,发现不能重启,重启就报EXT4的dump

最近硬盘突然挂了,但是mango R3的板子还在用,不得不更新到最新的aodzip大佬的镜像。编译成功后发现问题,烧写IMG成功系统后能加载uboot也能进kernel,但是一旦reboot就报ETX4的文件系统checksum error。就再也无法开机了。
麻烦路过的大佬帮忙看看,这个问题吧。非常感谢。
dump.png

源代码地址:
git clone https://github.com/aodzip/buildroot-tiny200.git
完整的dmsg日志:
dmesg.zip

离线

楼主 #1 2024-03-06 15:22:39

willX
会员
注册时间: 2019-09-06
已发帖子: 45
积分: 29

Re: 硬盘损坏,更新了mango R3的镜像后,发现不能重启,重启就报EXT4的dump

更新一下最近一周的调试情况:
1.回退了aodzip大佬的patch,回退到init记录,并且make clean后重新编译,还是会出现上述的问题。
2.对出故障的TF进行了fsck的修复。fsck -t ext4 /dev/sda3,但是很可惜的是,会导致文件丢失。也就无法boot系统了。
3.修改了Linux kernel的mount选项,强制rootfs挂载为read only模式,发现文件系统可以识别,也可以重启了。但是root目录RO了非常难调试,所以尝试在开机后remount了root目录,发现一旦remount后ext4的文件系统就报错,这时候reboot,问题又复现了。

通过以上调试发现,当前的问题是ext4的rootfs不能写入任何数据,一旦写入就会导致super block数据异常。
下一步分析方案:
1.校验TF卡镜像的rootfs起始地址,检查rootfs的挂载地址是否正确。
2.ext4文件系统调试,检查ext4_mount()函数在挂载过程中出现invalid superblock checksum的直接原因。但是aodzip大佬的开源镜像一直在用,按理说不应该到这一步的,应该是个小问题。所以该方向也被放到最后进行。

离线

楼主 #3 2024-03-06 23:58:51

willX
会员
注册时间: 2019-09-06
已发帖子: 45
积分: 29

Re: 硬盘损坏,更新了mango R3的镜像后,发现不能重启,重启就报EXT4的dump

海石生风 说:

先rootfs挂载为read only,备份rootfs,格式化rootfs所在分区,再恢复。

感谢回复,想请问下,你这样备份后又恢复rootfs的原因是什么啊?还请能否仔细描述下原因,非常感谢。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn