flash 存储器用 ext4 文件系统会有问题吗

2020-07-14 09:28:55 +08:00
 koebehshian

目前开发用的 ARM 开发板,刷了 Ubuntu MATE 系统,今天遇到怪事: 调试的时间发现设置 GPIO 没用了,前台运行脚本错误内容为 INPUT OUPUT ERROR, 马上敲 df 命令结果也执行不了,也是同样的错误提示,敲 free 命令也不行,敲 ls 命令是行的; cd 到 df 命令所在的目录,再 ls,结果不行; 无奈重启,结果有线网口灯都不亮了。

网口灯都不亮的问题,之前就遇到过,还以为是网口坏了,重新刷系统也不行,但放了几天以后,网口灯神奇地好了。

现在怀疑是要么是 flash 存储器坏了,要么是文件系统不行;个人更倾向于文件系统,flash 存储器固然容易坏,但文件系统应该有检测哪块区域坏掉的能力,好像有专门的 flash 文件系统

2537 次点击
所在节点    Linux
11 条回复
huangya
2020-07-14 09:42:15 +08:00
flash 存储器有许多种,你先给下你用的型号。
koebehshian
2020-07-14 09:45:55 +08:00
@huangya 刚才又试了下那个坏的板了,结果又全部恢复了,现在怀疑现场有干扰,给板子加个壳应该能减小干扰吧
love
2020-07-14 09:48:39 +08:00
关系应该不大,不过我用的是 flash 专用文件系统 f2fs
koebehshian
2020-07-14 09:55:17 +08:00
@love 从现在又恢复的情况看,干扰的可能性比较大。现场和开发板放在一起的设备还有一个路由器,一个开关电源,会不会被开关电源干扰了
Cooky
2020-07-14 10:04:19 +08:00
flash 加个金属壳?
reus
2020-07-14 10:06:30 +08:00
……flash 坏的几率这么大,居然不怀疑,怀疑 ext4 ?
文件检测到坏块又能怎样处理?除了给你返回 IO error 还能怎么处理?
当然,ext4 确实没有 crc 之类机制,zfs 和 btrfs 有。但这和是不是面向 flash 无关。
另外,数字信号没那么容易干扰……
坏了某一个块,没用到的话,是不会出错的。所以我的判断是,有坏块,只是当前没用到那一块。全盘扫描一下,看有没有办法屏蔽掉那些块,将就用吧
lewis89
2020-07-14 10:10:36 +08:00
@reus 我的路由器经常 I/O input error 刷了新的 OP 又撑了两年
reus
2020-07-14 10:15:06 +08:00
@lewis89 flash 驱动能屏蔽坏块就没什么问题
flynaj
2020-07-14 10:57:58 +08:00
树莓派这样子大概率是硬件问题,不会是文件系统问题。
vk42
2020-07-14 11:08:15 +08:00
关键看你的板子用的什么 flash 啊,如果是 eMMC 之类的带主控的那基本就当优盘用,啥文件系统区别不大。要是 NAND 或 NOR flash 的话一般要用专门的文件系统
jworg
2020-07-14 11:10:26 +08:00
理论上断电可能会有问题,不过概率非常非常小。nandflash 上 jffs2 和 ubifs 用的比较多,也用 soc 厂商自己实现的 nandflash 驱动带坏块管理然后上面跑 ext2/3/4

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/689773

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX