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文件,再重启即可。
如果还不可以可以试下以下操作: