Ubuntu18.04将console输出重定向到串口ttyS0

在linux系统中使用virsh创建和管理虚拟机时,除了使用ssh 连接虚拟机,还可以使用 virsh console 虚机名 的方式连接虚拟机,不过需要在虚机镜像中开启将console重定向到串口的设置。

Ubuntu18.04 开启ttyS0串口输出

在ubuntu18.04系统中步骤如下:

  1. 修改 /etc/default/grub文件:
    将GRUB_CMDLINE_LINUX="" 改为 GRUB_CMDLINE_LINUX=“console=tty0 console=ttyS0,115200”;
    将#GRUB_TERMINAL=“console” 改为 GRUB_TERMINAL=“console serial” ,注意要去掉前面的注释;
    在GRUB_TERMINAL 下添加一行串口设置:GRUB_SERIAL_COMMAND=“serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1”
    保存退出。
  2. 重新生成grub文件:
    执行命令:update-grub 或者 grub-mkconfig -o /boot/grub/grub.cfg
  3. 重启虚机: reboot

参考脚本:

#!/usr/bin/env bash
set -x
set -e

sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200"/g' /etc/default/grub
sed -i 's/^#GRUB_TERMINAL.*/GRUB_TERMINAL="console serial"/g' /etc/default/grub
sed -i '/GRUB_TERMINAL/aGRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"' /etc/default/grub
cat /etc/default/grub

grub-mkconfig -o /boot/grub/grub.cfg

reboot

这样,在宿主机上就可以通过 virsh console 虚机名 命令连接虚机执行命令了。可以在虚机中通过who 命令来查看当前所有登录用户的连接方式。

参考地址: https://www.hiroom2.com/2018/04/30/ubuntu-1804-serial-console-en/

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐