友善之臂MINI2440移植Linux内核“Kernel panic”的解决方法

    最近在学习Linux内核移植,将Linux-2.6.32.2内核按照http://singleboy.blog.163.com/blog/static/5490019420114251536390/的步骤,移植到友善之臂的MINI2440开发板,加载了yaffs2根文件系统,挂载NFS网络根文件系统时一切正常,将文件系统烧写到NAND Flash中启动时确被卡在了
Failed to execute /linuxrc.  Attempting defaults...
Kernel panic - not syncing: No init found.  Try passing init= option to kernel.
    无法继续进行下去,已经确认使用友善开发板光盘自带的Linux内核可以正常进入根文件系统,一旦使用自己移植的内核却无法进入。确认问题出在了自己移植的内核上面。
    随后,又按照“【申嵌培训】Mini2440 Linux移植开发实战指南-内核部分2010-9-9.pdf”重新移植了一遍,结果问题依旧。怀疑是在内核配置上面出的一些问题。
经过将友善之臂官方移植好内核源码运行“make menuconfig”之后,与自己移植的源码的“make menuconfig”进行对比,发现了不同之处:
    在:File Systems --->
           [*]Miscellaneous filesystems  --->
                 [*]Enable yaffs2 xattr support  
如下图所示:
    左边的是友善官方给的源码的配置界面,右面的是我自己移植的配置界面([*]Enable yaffs2 xattr support 原来是选中的)。经过对比发现,多了三行配置,只有Enable yaffs2 xattr support 这一项是选中的,按空格键取消选中,退出保存,重新编译生成Image,烧写到开发板nand flash中,发现成功进入到了根文件系统
问题解决。


你可能感兴趣的:(友善之臂S3C2440学习)