大家好:
现有主板,工作环境为:Linux buildroot 2.6.37_IPNC_DM368_5.1.0,根文件系统使用的是ubifs,系统有一块nandflash (页大小2048),一块emmc,在nandflash分区,分有名为ubi的一个分区作为根文件系统放置位置。主板的系统启动后,每次都是硬关机。但系统极为不稳定,在ubifs文件系统中进行数据读写时,会时常发现ECC类错误(如下所示),有时还会发生UBIFS变只读的问题,影响非常严重?调试发现主要发生是:ubi_io_read()函数,会经常返回-EBADMSG。kernel使用的是HWECC,已经禁止小页写入功能。看了TI论坛的帖子,也仍找不出一个之所以然来。有说是UBIFS掉电容易出错,有说关了硬件ECC,还有说可能是TI存在某种DEBUG。很是困惑,且UBIFS在论坛里看,问题真不少。希望大家,指点一下“前进”的方向。
# cp /mnt/mmc/tmp2/* ./ -a
[ 54.530781] UBI error: ubi_io_read: Kernel: drivers/mtd/ubi/io.c: ubi_io_read:
[ 54.530826][ 54.541545]UBI error: ubi_io_read: error -74 (ECC error) while reading 12 bytes from PEB 422:32956, read 12 bytes
[ 54.553372] UBIFS error (pid 478): make_reservation: cannot reserve 3385 bytes in jhead 2, error -74
[ 54.563982] UBIFS error (pid 478): do_writepage: cannot write page 940 of inode 1994, error -74
[ 54.573975] UBIFS warning (pid 478):ubifs_ro_mode: switched to read-only mode, error -74
[ 54.583570] UBIFS error (pid 478): make_reservation: cannot reserve 160 bytes in jhead 1, error -30
cp: write error: Read-only file system
cp: can't preserve times of './xxxxx': Read-only file system
Chris Meng:
你好,
建议有两个文件系统,系统文件放在一个自读文件系统里,要修改的文件系统放在ubifs。
bob2:
回复 Chris Meng:
这种问题,有没有具体的原因呢?不可修复吗【找debug或升级软硬件】?以前也用过UBIFS,在AM335X上,但没见过在DM368上这么容易出错!