主题 : 求助:reboot 后,就出现无法挂接根文件系统 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 11990
精华: 0
发帖: 55
金钱: 280 两
威望: 56 点
综合积分: 110 分
注册时间: 2009-12-26
最后登录: 2020-04-18
楼主  发表于: 2010-01-21 15:31

 求助:reboot 后,就出现无法挂接根文件系统

我在使用reboot命令后,出现找不到根文件系统的问题,请版主和高手们帮忙看下!
.....
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.18a.
No device for DAI UDA134X
No device for DAI s3c24xx-i2s
S3C24XX_UDA134X SoC Audio driver
UDA134X SoC Audio Codec
asoc: UDA134X <-> s3c24xx-i2s mapping ok
ALSA device list:
  #0: S3C24XX_UDA134X (UDA134X)
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
s3c2410-rtc s3c2410-rtc: setting system clock to 2009-01-21 15:20:27 UTC (1232551227)
uncorrectable error : <3>end_request: I/O error, dev mtdblock2, sector 0
FAT: unable to read boot sector
VFS: Cannot open root device "mtdblock2" or unknown-block(31,2)
Please append a correct "root=" boot option; here are the available partitions:
1f00             384 mtdblock0 (driver?)
1f01            2048 mtdblock1 (driver?)
1f02          128640 mtdblock2 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)
级别: 新手上路
UID: 5080
精华: 0
发帖: 13
金钱: 80 两
威望: 35 点
综合积分: 26 分
注册时间: 2009-04-09
最后登录: 2010-08-07
1楼  发表于: 2010-01-24 21:05
我也遇到了同样的问题!重新分区下载后,可以启动内核挂载yaffs2文件系统,但是重启以后就提示上面的错误信息,以后就再也起不来了。想请教一下?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
2楼  发表于: 2010-01-24 21:16

 回 1楼(hrbeu06ws) 的帖子

uncorrectable error : <3>end_request: I/O error, dev mtdblock2, sector 0

内核在读取NAND Flash上的根文件系统所在分区时出现了ECC校验错误,无法读出数据,当然也就无法挂载分区里的保存的文件系统镜像。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 5080
精华: 0
发帖: 13
金钱: 80 两
威望: 35 点
综合积分: 26 分
注册时间: 2009-04-09
最后登录: 2010-08-07
3楼  发表于: 2010-01-24 21:51

 回 2楼(kasim) 的帖子

谢谢,我明白了!我试过了,如果禁用内核的ECC校验,是可以启动系统的。那么请问,是否有更好的解决办法呢?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
4楼  发表于: 2010-01-24 22:00

 回 3楼(hrbeu06ws) 的帖子

那就必须搞清楚这个问题是如何产生的。一般来说,这大多是因为向NAND Flash中写入文件系统镜像时所用的ECC方式和内核读取文件系统镜像时所用的ECC方式(看起来是Software ECC)不匹配造成的。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 侠客
UID: 11990
精华: 0
发帖: 55
金钱: 280 两
威望: 56 点
综合积分: 110 分
注册时间: 2009-12-26
最后登录: 2020-04-18
5楼  发表于: 2010-01-29 22:53
这个问题曾困扰我好长时间,不能正常关机,只有关电,再开就出现好多坏块提示,会越来越多,最终就起不起来了。

...........
Partially written block 19 detected
Partially written block 19 detected
Partially written block 19 detected
Partially written block 19 detected
Partially written block 19 detected
Partially written block 12 detected
Partially written block 12 detected
Partially written block 12 detected
Partially written block 12 detected
Partially written block 12 detected
Partially written block 12 detected
Partially written block 12 detected
Partially written block 12 detected
Partially written block 12 detected
Partially written block 12 detected
Partially written block 11 detected
Partially written block 11 detected
Partially written block 11 detected
Partially written block 11 detected
Partially written block 11 detected
Partially written block 11 detected
Partially written block 11 detected
Partially written block 11 detected
Partially written block 11 detected
Partially written block 11 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
Partially written block 80 detected
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs filesystem) on device 31:2.
Freeing init memory: 136K
eth0: link down
[29/Jan/2010:22:02:59 +0000] boa: server version Boa/0.94.13
[29/Jan/2010:22:02:59 +0000] boa: server built Jan 17 2010 at 16:27:49.
[29/Jan/2010:22:02:59 +0000] boa: starting server pid=383, port 80
Please press Enter to activate this console.
我在此后试了两种方法解决:
1.就是网上说的比较多的方法,把NAND_SOFT_ECC换成NAND_NONE_ECC,但是这种方法虽然不会出现上面的问题,但是不可靠啊,于是选上了lets Yaffs do its own ecc,没有出现什么别的问题。
2.后来我试了使用勾选samsung s3c Nand Hardware ECC,也能解决这个问题,网上有的说一般是256M以上的大容量的Flash才使用HW_ECC,可我的这个是128M的。
我现在用的硬件ECC,因为对具体的ECC校验不太懂,所以对上面问题的不解还是想请教一下!
级别: 新手上路
UID: 13064
精华: 0
发帖: 16
金钱: 90 两
威望: 18 点
综合积分: 32 分
注册时间: 2010-01-18
最后登录: 2011-06-14
6楼  发表于: 2010-01-30 00:32
我也出现这问题。。回去试试楼主的办法..
级别: 新手上路
UID: 13064
精华: 0
发帖: 16
金钱: 90 两
威望: 18 点
综合积分: 32 分
注册时间: 2010-01-18
最后登录: 2011-06-14
7楼  发表于: 2010-01-30 10:09
选上了lets Yaffs do its own ecc,依然不行。。。
换成samsung s3c Nand Hardware ECC。。。问题解决了。。。