init
---------------------------------------------------
Linux kernel启动的最后,在内核源码的linux-2.6.24/init/main.c文件的init_post()函数中可以看到:
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.");
即系统会按照上述顺序,逐次运行作为init的进程。当有任何一个进程被成功运行时,run_init_process()函数将不再返回。全局字符数组execute_command保存了从系统启动命令行中传递的init参数。例如,系统启动参数包括init=/linuxrc,如果根文件系统中存在文件/linuxrc,则它将被作为init进程的首选。
内核启动参数init
最新推荐文章于 2024-09-16 11:19:03 发布