PVE开启linux下xterm.js控制台
来自三线的随记
赘述
aka: PVE开启Linux的串行(串口)控制台(serial console)
首先需要开启xterm.js控制台的虚拟机需要先添加一个serial串行端口硬件
Linux 8
Centos 8 / Oracle 8 / Redhat 8
1. 通过修改/etc/default/grub文件重新生成grub配置实现
网上很多教程都是修改 /etc/default/grub
文件,添加或者修改一行GRUB_CMDLINE_LINUX配置
然后执行grub2-mkconfig重新生成一份grub.cfg
主要参数在于console,console=tty0即将开机启动的滚屏信息也输出到tty0(节点主输出),console=ttyS0才是控制串行控制台相关的
GRUB_CMDLINE_LINUX="quiet console=tty0 console=ttyS0"
或
GRUB_CMDLINE_LINUX="quiet console=tty0 console=ttyS0,115200"
然后执行
grub2-mkconfig --output=/boot/grub2/grub.cfg
如果在前文设置了波特率115200的话,这时候reboot会发现其实可能无法生效
需要执行命令
stty -F /dev/ttyS0 speed 115200
2. 通过修改 /boot/grub2/grubenv文件实现(不重新生成grub.cfg,需要留意本身grub.cfg内)
# The kernelopts variable should be defined in the grubenv file. But to ensure that menu # entries populated from BootLoaderSpec files that use this variable work correctly even # without a grubenv file, define a fallback kernelopts variable if this has not been set. # # The kernelopts variable in the grubenv file can be modified using the grubby tool or by # executing the grub2-mkconfig tool. For the latter, the values of the GRUB_CMDLINE_LINUX # and GRUB_CMDLINE_LINUX_DEFAULT options from /etc/default/grub file are used to set both # the kernelopts variable in the grubenv file and the fallback kernelopts variable.
修改 /boot/grub2/grubenv
文件,在 kernelopts
配置项末尾追加console相关配置,如下
kernelopts=root=/dev/mapper/oracle--disk-root ro crashkernel=auto resume=/dev/mapper/oracle--disk-swap rd.lvm.lv=oracle-disk/root rd.lvm.lv=oracle-disk/swap rhgb quiet console=tty0 console=ttyS0,115200
然后由于定义了波特率,所以同样需要执行
stty -F /dev/ttyS0 speed 115200
重启即可
3. 不重启立刻生效
执行以下命令即可,如果不修改grub相关配置项的话,仅本次生效
systemctl start getty@ttyS0
更多PVE serial console配置参考: https://pve.proxmox.com/wiki/Serial_Terminal