بسم الله والحمد لله
وقعت لي مشكلة عند تحديث نواة لينكس ولقد بحث في حلولها ولم أجد حلا نافعا
ملخص المشكلة أن النواة لا تلقع وترسل هذه الرسالة
No init found. Try passing init= option to kernel
ثم عزمت على البحث أكثر عمقا عن سبب المشكلة وبحثت في أكواد النواة فوجد الكود المسؤول عن هذه الرسالة
static int init(void * unused)
{
lock_kernel();
do_basic_setup();
prepare_namespace();
/*
* Ok, we have completed the initial bootup, and
* we're essentially up and running. Get rid of the
* initmem segments and start the user-mode stuff..
*/
free_initmem();
unlock_kernel();
if (open("/dev/console", O_RDWR, 0) < 0) // stdin
printk("Warning: unable to open an initial console.\n");
(void) dup(0); // stdout
(void) dup(0); // stderr
/*
* We try each of these until one succeeds.
*
* The Bourne shell can be used instead of init if we are
* trying to recover a really broken machine.
*/
if (execute_command)
execve(execute_command,argv_init,envp_init);
execve("/sbin/init",argv_init,envp_init);
execve("/etc/init",argv_init,envp_init);
execve("/bin/init",argv_init,envp_init);
execve("/bin/sh",argv_init,envp_init);
panic("No init found. Try passing init= option to kernel.");
}وأنا لعدم خبرتي في لغة السي رجوت أن أجد عندكم توضيحا وهو متى تظهر تلك الرسالة؟
