to be myself
分类: 嵌入式
2013-03-03 12:09:38
启动内核出现Kernel panic - not syncing: No init found.No init found.Try passing init= option to kernel.
分析内核发现在init_post()函数的最后发现下面这段:
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.");
出现了下面的panic,内核运行上面的run_init_process()是一去不复返的,既然出现了panic,肯定就是从上面四个函数里面返回了。检查根文件系统,发现sbin/init是存在的。
这次为什么会出错呢?之前我编译好多次,用nfs挂载都没问题的。在网上“init没起来 确认init放好了,如果是动态编译的话确定init需要的lib也都放好”。突然想到我这次是选择动态编译busybox,而/sbin/init也是指向busybox的软连接啊,busybox当然需要库才能运行额。于是拷贝了一个完整的文件系统的lib目录到挂载的这个文件系统的lib目录下,启动就OK了。
2011-08-01 12:27 发表于百度空间,今搬至CU。