| init --------------------------------------------------- Linux kernel啟動(dòng)的最后,在內(nèi)核源碼的linux-2.6.24/init/main.c文件的init_post()函數(shù)中可以看到: 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."); 即系統(tǒng)會(huì)按照上述順序,逐次運(yùn)行作為init的進(jìn)程。當(dāng)有任何一個(gè)進(jìn)程被成功運(yùn)行時(shí),run_init_process()函數(shù)將不再返回。全局字符數(shù)組 execute_command保存了從系統(tǒng)啟動(dòng)命令行中傳遞的init參數(shù)。例如,系統(tǒng)啟動(dòng)參數(shù)包括init=/linuxrc,如果根文件系統(tǒng)中存在 文件/linuxrc,則它將被作為init進(jìn)程的首選。 | 
|  |