对KVM虚拟机添加ttyS0实现console操作

本文主要介绍如何给KVM虚拟机添加ttyS0终端实现宿主机的console操作。

一般来说直接创建的虚拟机是没办法在宿主机上直接通过console命令来操作,在使用console命令的时候会卡在下列界面

1
2
3
4
5
6
7
8
# 添加到securetty中允许登录
grep ttyS0 /etc/securetty || echo "ttyS0" >> /etc/securetty
# 使用grubby在内核参数中添加ttyS0
grubby --update-kernel=ALL --args=console=ttyS0
# 添加到inittab中实现开机初始化tty
grep ttyS0 /etc/inittab || echo "S0:12345:respawn:/sbin/agetty ttyS0 115200" >> /etc/inittab
# 重启生效
reboot

/etc/inittab文件中的配置按照以下格式进行书写

1
id:runlevels:action:process
  • id:它是每个登记项的标识符,用于唯一标识每个登记项,不能重复
  • runlevels:系统的运行级别,表示process的action要在哪个级别下运行,该段中可以定义多个运行级别,各级别之间直接写不用分隔符;如果为空,表示在所有的运行级别运行
  • action:表示对应登记项的process在一定条件下所要执行的动作
  • process:表示启动哪个程序或脚本或执行哪个命令等

之后再次尝试就可以正常操作了

asdasdadsa