Linux内核始终是否为使用init=...
或隐式/sbin/init
(/etc/init
启动时传递的PID 1进程提供文件描述符0,1和2 ,/bin/init
,/bin/sh
)?它们是指系统控制台/dev/console
吗?如果init上没有提供/dev
但是必须由init系统设置会发生什么?
答案 0 :(得分:1)
他们被kernel_init_freeable
迷上了控制台。控制台将直接打开并复制,而无需通过/dev
。
/* Open the /dev/console on the rootfs, this should never fail */
if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
pr_err("Warning: unable to open an initial console.\n");
(void) sys_dup(0);
(void) sys_dup(0);