自己制作的根文件系统下载到板子出现问题,开始自己移植的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,我感觉应该是动态的吧????
在这个问题上我卡了好久了,恳请哪位的帮助!致谢!