linux内核如何知道引导过程中/sbin/init程序的位置?"/sbin/init“是否硬编码到linux内核源代码中?
发布于 2012-03-21 16:39:07
是的,/sbin/init是硬编码到源代码中的。请参阅函数init_post init/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. "
"See Linux Documentation/init.txt for guidance.");发布于 2012-03-21 15:32:41
内核加载完成后运行的程序可以使用init=/file/name参数在内核引导命令行上给出。
如果未传递此选项,则使用内置默认/sbin/init。
https://serverfault.com/questions/372007
复制相似问题