我已将系统配置为使用内核参数将启动时的控制台输出定向到串行和 vga。 Serial 是内核参数中的最后一个参数,并且将作为/dev/console
. grub 和agetty 也配置为使用串行控制台。
启动时,内核消息以及 init 脚本以及 init 完成后的agetty 上都会显示。
shutdown
使用init stop关闭系统时,脚本仅显示在串行控制台中。我相信这是因为 init 脚本只会输出到/dev/console
.尽管当给出该命令时,vga 显示将清除屏幕,并且仅显示内核消息,直到系统最终重新启动。
我也在使用 Xen4CentOS,但使用它的结果与库存内核相同。
- 为什么我在两个控制台上都看不到 init stop 脚本,而我可以看到启动脚本?
- 有解决方法吗?
- VGA 控制台上的清晰屏幕是什么问题?
为了完成我的问题,我的规格和设置:
- CentOS6 使用原生内核。
- 内核选项:
console=tty0 console=ttyS0,9600n8
- 使用 Xen4CentOS 时,向 Xen 内核添加了选项:
com1=9600,8n1 console=com1,vga
- 设置
BOOTUP=serial
于/etc/sysconfig/init
- 添加
serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1
到/etc/grub.conf
答案1
如中所述远程串行控制台指南:
当列出多个控制台时,输出将发送到所有控制台,并从最后列出的控制台获取输入。最后一个控制台是 Linux 用作设备的控制台
/dev/console
。
您将在所有控制台上看到来自内核的消息,但写入的任何内容/dev/console
(例如通过init
或systemd
)只会出现在最后一个控制台上。