5.27上午 外教课

查找错误原因: 根据错误提示信息:”Warning: unable to open an initial

console.”查看内核源代码。可定位错误提示在内核文件linux-2.6.26.2/init/main.c文件中。

 

清单52 分析main.c的调用关系

 

asmlinkage void __init start_kernel(void)

 

{

 

 

rest_init();

 

}

 

static void noinline __init_refok rest_init(void)

 

__releases(kernel_lock)

 

{

 

 

kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND);

 

 

}

 

static int __init kernel_init(void * unused)

 

{

 

 

init_post();

 

return 0;

 

}

 

static int noinline init_post(void)

 

{

 

 

if (sys_open((const char __user *) "/dev/console", O_RDWR,

0) < 0)

 

printk(KERN_WARNING "Warning: unable to open an initial

console.\n");

 

 

run_init_process("/sbin/init");

 

 

}通过分析知道内核启动时需要成功打开/dev/console设备,否则给出"Warning: unable to open an

initial console."的错误提示。

 

//为目标机配置console设备文件节点

 

进入你的nfs文件系统的/dev/目录

 

sudo mknod console c 5 1

 

创建console文件,再重启即可。

 

如果还不可以可以试下以下操作:

posted @ 2017-05-27 13:11  周彤彤  阅读(88)  评论(0编辑  收藏  举报