日期:2014-05-16  浏览次数:20979 次

Try passing init= option to kernel
各位大哥,本人刚开始学Linux,现在移植系统的时候,挂载文件系统,出现下面的信息后,系统就不动了,恳请指教

<6>yaffs: dev is 32505859 name is "mtdblock3"

yaffs: dev is 32505859 name is "mtdblock3"
<6>yaffs: passed flags ""

yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.3, "mtdblock3"

yaffs: Attempting MTD mount on 31.3, "mtdblock3"
yaffs_read_super: isCheckpointed 0

yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs2 filesystem).

VFS: Mounted root (yaffs2 filesystem).
<6>Freeing init memory: 132K

Freeing init memory: 132K
<4>Warning: unable to open an initial console.

Warning: unable to open an initial console.
<4>Failed to execute /init. Attempting defaults...

Failed to execute /init. Attempting defaults...
<0>Kernel panic - not syncing: No init found. Try passing init= option to kernel.

Kernel panic - not syncing: No init found. Try passing init= option to kernel.


------解决方案--------------------
这种情况很常见,原因有2的
1、根文件系统镜像制作不对,里面没有/linuxrc 或者内核启动参数里没有init=/linuxrc
不过很少发生

2、最可能的原因,yaffs镜像烧错地址了
内核源码里划分的flash分区和你实际把yaffs镜像烧写的位置不一样
------解决方案--------------------
内核支持BBT,而uboot烧写文件时没加入BBT,内核自然无法正确读出文件系统啊
不建议改内核,建议升级uboot为支持BBT的


因为读取文件系统失败,所以里面不光init,别的什么都读不对