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,别的什么都读不对