Ubuntu 串口控制台

我们知道 IPMI 是服务器管理的重要技术,但是当我执行 ipmitool控制台连接 却发现 Ubuntu 的控制台完全没有响应(无输出输入)。已经验证了 ipmitool控制台连接 连接到 HPE ProLiant DL360 Gen9服务器 是工作正常,那么,就需要解决Ubuntu的控制台输出问题。

备注

本文实践是在 Ubuntu 22.04 上完成,按照 Ubuntu Community Help Wiki: SerialConsoleHowto 说明,配置方法适合Ubuntu较新版本(Karmic及以后)。早期版本 (Edgy/Feisty/Jaunty) 我没有实践,请参考原文。

配置console登陆进程

  • 创建一个 /etc/init/ttyS0.conf :

/etc/init/ttyS0.conf 配置getty
# ttyS0 - getty
#
# This service maintains a getty on ttyS0 from the point the system is
# started until it is shut down again.

start on stopped rc RUNLEVEL=[12345]
stop on runlevel [!12345]

respawn
exec /sbin/getty -L 115200 ttyS0 vt102

配置 Ubuntu修订Grub内核启动参数 传递内核参数

  • 修订 /etc/default/grub 配置

    • GRUB_CMDLINE_LINUX 向内核传递串口参数,这样Linux内核运行时会向串口输出终端信息以及登陆

    • 增加GRUB串口配置,配置 GRUB_TERMINALGRUB_SERIAL_COMMAND

修订 /etc/default/grub 配置 GRUB_CMDLINE_LINUX 添加控制台
# Kernel console on both serial and kvm/local console
GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8"

# Show grub menu on both serial and kvm/local console
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"
  • 更新GRUB:

更细GRUB
sudo update-grub

然后重启系统,就能够在 ipmitool控制台连接 看到控制台输出并进行登陆交互

参考