Linux标准输入输出重定向至串口

对于没有配置显示器的服务器设置,最常用的操作服务器的方法就是使用网络远程登录管理。但是当服务器网络出现故障,又不方便使用显示器的时候,一个很好的办法就是使用串口对服务器进行管理。本文主要说明如何通过GRUB将Linux标准输入输出重定向至串口。

主要手段,是将GRUB配置文件(通常为/boot/grub/grub.cfg)中,形如

linux /boot/vmlinuz-linux root=UUID=ad4103fa-d940-47ca-8506-301d8071d467 rw  quiet

的一行,增加串口配置信息,修改后形如

linux /boot/vmlinuz-linux root=UUID=ad4103fa-d940-47ca-8506-301d8071d467 rw  quiet console=tty0 console=ttyS0,115200

但是由于GRUB配置比较复杂,仅修改这一处有可能会造成不可预知的问题,因此建议修改GRUB默认配置文件,然后再使用命令更新GRUB配置。GRUB默认配置文件一般为/etc/default/grub,在其中加入以下变量设置

GRUB_CMDLINE_LINUX="console=ttyS0,115200"
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"

之后使用发行版推荐的手段,更新GRUB配置。

发行版 建议命令
Archlinux, Gentoo grub-mkconfig -o /boot/grub/grub.cfg
CentOS, Fedora grub2-mkconfig -o /boot/grub2/grub.cfg
Debian, Ubuntu update-grub
添加新评论