Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
在開發板啓動後,串口輸出停止了,內核卡住了,經過查看串口消息,發現了kernel panic這段內核恐慌的報錯提示,提示不能掛載根文件系統。
因爲我用的是ramdisk虛擬磁盤充當文件系統的,但是內核並沒有準確設置randisk的大小,我做的ramdisk大小是64M,也就是65536Kbytes。
內核配置:
make menuconfig
general setup找到 Initial RAM filesystem and RAM disk 這一行,enable它
filesystem 裏啓動對ext2文件系統的支持,因爲ramdisk是ext2文件系統。
device drivers-> block devices:
找到下面兩個設置ramdisk的默認數量,雖然我們只有1個ramdisk,不過他自帶默認是16,那就16吧,重點是第二個默認的ramdisk大小,注意以kbytes爲單位,我做的ramdisk是64M,上面說了,就是65536Kbytes。所以ram磁盤大小必須設置爲65536千字節,不然會內核恐慌(kernel panic)報錯的。
(16) Default number of RAM disks
(65536) Default RAM disk size (kbytes)
修改後,重啓系統,順利開機。另外內核命令行參數設置如下:
其實就是默認的:
Kernel command line: console=ttyPS0,115200 root=/dev/ram rw earlyprintk
在uboot啓動時設置環境變量:
setenv bootargs ‘console=ttyPS0,115200 root=/dev/ram rw earlyprintk’