我在使用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傳給它的參數,它用本身的啓動參數。正是這個緣故,新內核的文件系統啓動沒有問題!我修改了個人內核的啓動參數,問題解決了!網站
經過這件事,我意識到,有時候遇到調試問題,靜下心來去官網上學習相關的概念和操做,比處處去網上搜索答案更可以解決問題!調試