来自 计算机操作系统 2019-10-19 10:25 的文章
当前位置: 美高梅4858官方网站 > 计算机操作系统 > 正文

有关启动内核时文件系统挂载退步的难题

我在使用atheros板子的过程中,在使用同一个CPU芯片的基础上,需要把flash从8MB更换为16MB,把我的旧的内核和文件系统套在新的uboot上面,内核启动的时候出现了以下错误,文件系统挂载不了。

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)

一开始的时候,我看到上面是文件系统挂载的问题,所以到处把上面的相关信息贴到百度和谷歌去寻找解决这个问题的办法,但是找不到刚好对应的解决办法。之后,我观察到它打印mtdblock,从网上了解到它可能跟mtd驱动的支持有关,难道是旧的内核mtd驱动不支持这个新的flash?但是我在内核里面看到内核已经打开了对应这个flash型号的驱动,照理来说应该是支持的。

我尝试在使用旧的文件系统的基础上更换内核,发现新内核对jffs2文件系统能正常挂载,没有以上这些问题。最后静下心来看看jffs2文件系统的官方网站,发现它在介绍用jffs2设置内核启动的内容,讲到了启动参数的设置,里面有个类似root=/dev/mtdblock3的启动参数。我赶紧把注意力转移到启动参数上面。通过查看新内核的启动参数发现了一些端倪,新内核不吃uboot传给它的参数,它用自己的启动参数。正是这个缘故,新内核的文件系统启动没有问题!我修改了我的内核的启动参数,问题解决了!

通过这件事,我意识到,有时候遇到调试问题,静下心来去官网上学习相关的概念和操作,比到处去网上搜索答案更能够解决问题!

本文由美高梅4858官方网站发布于计算机操作系统,转载请注明出处:有关启动内核时文件系统挂载退步的难题

关键词: