6248|1

48

帖子

1

TA的资源

纯净的硅(高级)

楼主
 

VFS: Cannot open root device "mtdblock2" or unknown-block(0,0) [复制链接]

在网上看到好多人遇到下面的问题,大部分人都是猜测问题的出错原因,没有真正的试过,本人遇到该问题后,亲身测试通过,希望本文给大家带来帮助。
问题:(启动后出现的错误信息)
VFS: Cannot open root device "mtdblock2" or unknown-block(0,0)
Please append a correct "root=" boot option; here are the available partitions:
1f00           65536 mtdblock0 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Backtrace:
[] (dump_backtrace+0x0/0x10c) from [] (dump_stack+0x18/0x1c)
r6:c001a83c r5:c0290f84 r4:c0291780 r3:80000013
[] (dump_stack+0x0/0x1c) from [] (panic+0x4c/0x110)
[] (panic+0x0/0x110) from [] (mount_block_root+0x1dc/0x29c)
r3:00000001 r2:00000000 r1:c381df60 r0:c02375cc
r7:00008000
[] (mount_block_root+0x0/0x29c) from [] (mount_root+0x54/0x6c)
[] (mount_root+0x0/0x6c) from [] (prepare_namespace+0x128/0x180)
r5:c001a851 r4:c0290f84
[] (prepare_namespace+0x0/0x180) from [] (kernel_init+0xbc/0xe8)
r5:c0019800 r4:c0019800
[] (kernel_init+0x0/0xe8) from [] (do_exit+0x0/0x638)
r5:00000000 r4:00000000
【解决过程】
1.查了网上的资料,看到有些高手说是否设置了MTD的block device支持,make menucofig查看配置后看到device driver->block devices前选择的是y,也就是显示的【*】。
2. 因为本人用的是天嵌的2440开发板,我仔细的查看了天嵌提供的用户手册,因为之前的配置方法都是按照天嵌提供的配置来一个个进行的,所以我没有在查看配 置信息(酿成大错的缘由就出在这里),我仔仔细细的查看了正确配置后应该显示的启动信息和我的串口终端里显示的错误启动信息,发现有几处不同的地方:
没有下列信息:
1.yaffs may31,2006 Installing
2.
Creating 3 MTD partitions on “NAND 256MiB3,3V 8-bit”:
0x000000000000-0x000000040000:”EmbedSky_Board_uboot”
0x000000200000-0x000000500000:”EmbedSky_Board_kernel”
0x000000500000-0x000010000000:”EmbedSky_Board_yaffs2”
3.  s3c2410-udc:debugfsdir creation failed -19
s3c2440-usbgadget s3c2440-usbgadget:S3C2440:increasing FIFO to 128 bytes
以及多出了出错信息:
Failed to allocate videoRAM: -12
s3c2410-lcd: probe of s3c2410-lcd failed with error -12

于 是猜测是yaffs文件系统没有配置成功,打开配置信息,果然不出所料,原来File system->Miscellaneous file systems->YAFFS2 file system support前面配置的是【M】,而不是【*】,出错就是因为这里配置的不对的原因。之前配置内核的时候本以为配置成【M】和【*】是没有影响的,原来 是大错特错,有些配置必须要【*】,系统才能正常启动。

将File system->Miscellaneous file systems->YAFFS2 file system support配置成【*】,
make zImage,
通过DNW烧写到TQ2440中进行测试,启动没有出错,oh yeh!!!!
限于篇幅,只把终端中显示信息的后面一部分列出来:

TCP cubic registered
Initializing XFRM netlink socket
s3c2410-rtcs3c2410-rtc: setting systemclock to 2142-02-15 19:24:32 UTC (113681
1376)
yaffs: dev is 32505858 name is"mtdblock2"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.2,"mtdblock2"
yaffs: auto selecting yaffs2
block 147 is bad
block 831 is bad
block 985 is bad
block 986 is bad
block 1045 is bad
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs filesystem) ondevice 31:2.
Freeing init memory: 248K
hwclock: settimeofday: Invalid argument
input_polldev: version magic '2.6.30.4-EmbedSkymod_unload ARMv4 ' should be '2.
6.30.4mod_unload ARMv4 '
insmod: can't insert'/lib/input-polldev.ko': invalid module format
mac80211: version magic '2.6.30.4-EmbedSkymod_unload ARMv4 ' should be '2.6.30.
4 mod_unload ARMv4 '
insmod: can't insert '/lib/mac80211.ko':invalid module format
rt2x00lib: version magic '2.6.30.4-EmbedSkymod_unload ARMv4 ' should be '2.6.30
.4 mod_unload ARMv4 '
insmod: can't insert '/lib/rt2x00lib.ko':invalid module format
rt2x00usb: version magic '2.6.30.4-EmbedSkymod_unload ARMv4 ' should be '2.6.30
.4 mod_unload ARMv4 '
insmod: can't insert '/lib/rt2x00usb.ko':invalid module format
rt73usb: version magic '2.6.30.4-EmbedSkymod_unload ARMv4 ' should be '2.6.30.4
mod_unload ARMv4 '
insmod: can't insert '/lib/rt73usb.ko':invalid module format
zd1211rw: version magic '2.6.30.4-EmbedSkymod_unload ARMv4 ' should be '2.6.30.
4 mod_unload ARMv4 '
insmod: can't insert '/lib/zd1211rw.ko':invalid module format
ov9650: version magic '2.6.30.4-EmbedSkymod_unload ARMv4 ' should be '2.6.30.4
mod_unload ARMv4 '
insmod: can't insert '/lib/ov9650.ko':invalid module format
/dev/watchdog: No such file or directory
eth0: link down
[09/Jan/2006:12:56:20 +0000] boa: serverversion Boa/0.94.13
[09/Jan/2006:12:56:20 +0000] boa: serverbuilt Jul 29 2009 at 14:27:34.
[09/Jan/2006:12:56:20 +0000] boa: startingserver pid=430, port 80

Please press Enter to activate thisconsole. *** Warning - bad CRC or NAND, usin
g default environment

最新回复

启动过程中需要用到的东西是不能配置成module的,因为module的东东是系统起来之后从文件系统里边加到内核的 根文件系统相关的东西都必须静态编译到内核的  详情 回复 发表于 2013-1-6 22:20
点赞 关注

回复
举报

1025

帖子

1

TA的资源

纯净的硅(高级)

沙发
 
启动过程中需要用到的东西是不能配置成module的,因为module的东东是系统起来之后从文件系统里边加到内核的

根文件系统相关的东西都必须静态编译到内核的
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表