从启动信息看,2.6.34的内核中分区信息为
0x000000000000-0x000000060000 : "vivi"
0x000000060000-0x000000560000 : "kernel"
0x000000560000-0x000008200000 : "root"
友善之臂提供的2.6.32.2的内核中分区为
0x000000000000-0x000000040000 : "supervivi"
0x000000040000-0x000000060000 : "param"
0x000000060000-0x000000560000 : "Kernel"
0x000000560000-0x000040560000 : "root"
很显然,你应该把yaffs文件系统镜像放在NAND Flash偏移0x560000的位置开始的区域内;
因此,使用2.6.34内核时,vivi传给内核的参数"root=/dev/mtdblock2"是正确的,文件系统也是挂载成功的,问题在于文件系统启动以后。这就是我要你用一个静态编译的helloworld程序作为init进程测试的原因。
同样的道理,使用2.6.32.2内核时,vivi传递给内核的"root=/dev/mtdblock2"是不正确的,文件系统没有挂载成功。参数应该改为"root=/dev/mtdblock3".
[ 此帖被kasim在2010-06-15 22:42重新编辑 ]