我在使用atheros板子的过程当中,在使用同一个CPU芯片的基础上,须要把flash从8MB更换为16MB,把个人旧的内核和文件系统套在新的uboot上面,内核启动的时候出现了如下错误,文件系统挂载不了。node
JFFS2 warning: (1) jffs2_sum_process_sum_data: Unsupported node type e008 found in summary! Exiting...
VFS: Cannot open root device "31:02" or unknown-block(31,2)
Please append a correct "root=" boot option; here are the available partitions:
1f00 256 mtdblock0 (driver?)
1f01 64 mtdblock1 (driver?)
1f02 14528 mtdblock2 (driver?)
1f03 1408 mtdblock3 (driver?)
1f04 64 mtdblock4 (driver?)
1f05 64 mtdblock5 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)app
一开始的时候,我看到上面是文件系统挂载的问题,因此处处把上面的相关信息贴到百度和谷歌去寻找解决这个问题的办法,可是找不到恰好对应的解决办法。以后,我观察到它打印mtdblock,从网上了解到它可能跟mtd驱动的支持有关,难道是旧的内核mtd驱动不支持这个新的flash?可是我在内核里面看到内核已经打开了对应这个flash型号的驱动,照理来讲应该是支持的。学习
我尝试在使用旧的文件系统的基础上更换内核,发现新内核对jffs2文件系统能正常挂载,没有以上这些问题。最后静下心来看看jffs2文件系统的官方网站,发现它在介绍用jffs2设置内核启动的内容,讲到了启动参数的设置,里面有个相似root=/dev/mtdblock3的启动参数。我赶忙把注意力转移到启动参数上面。经过查看新内核的启动参数发现了一些端倪,新内核不吃uboot传给它的参数,它用本身的启动参数。正是这个缘故,新内核的文件系统启动没有问题!我修改了个人内核的启动参数,问题解决了!网站
经过这件事,我意识到,有时候遇到调试问题,静下心来去官网上学习相关的概念和操做,比处处去网上搜索答案更可以解决问题!调试