主题 : 移植linux2.6.32.2Failed to execute /linuxrc.  Attempting defaults... 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 10316
精华: 0
发帖: 56
金钱: 280 两
威望: 56 点
综合积分: 112 分
注册时间: 2009-10-31
最后登录: 2012-06-15
楼主  发表于: 2010-12-06 19:09

 移植linux2.6.32.2Failed to execute /linuxrc.  Attempting defaults...

自己制作的根文件系统下载到板子出现问题,开始自己移植的linux和使用友善官方的linux2.6.32.2-mini2440制作的镜像都有下面的问题,但我使用以前友善官网上的linux2.6.29做的镜像却能正常启动系统。
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs filesystem) on device 31:2.
Freeing init memory: 168K
Failed to execute /linuxrc.  Attempting defaults...
Kernel panic - not syncing: No init found.  Try passing init= option to kernel

根据main.c中
if (execute_command) {
        run_init_process(execute_command);
        printk(KERN_WARNING "Failed to execute %s.  Attempting "
                    "defaults...\n", execute_command);
    }
    run_init_process("/sbin/init");
    run_init_process("/etc/init");
    run_init_process("/bin/init");
    run_init_process("/bin/sh");
    panic("No init found.  Try passing init= option to kernel.");
1。可推测出execute_command也即linuxrc没有执行,但不知道为什么我用linux2.6.29做的镜像却能正常执行??
2。查看linuxrc的执行权限也没有问题,不过执行
  $ file bin/busybox
bin/busybox: ELF 32-bit LSB executable, ARM, version 1, for GNU/Linux 2.4.3, staticlly linked (uses shared libs), stripped,时发现为静态的方式加载busybox,我感觉应该是动态的吧????


在这个问题上我卡了好久了,恳请哪位的帮助!致谢!

        
勤劳才是硬道理!!