我正在尝试从 Ubuntu Cloud 镜像创建自定义镜像,具体来说https://cloud-images.ubuntu.com/minimal/releases/impish/release/ubuntu-21.10-minimal-cloudimg-amd64.img
使用 virsh vncdisplay 和 VNC Viewer 我只能从 grub 获取初始启动输出,但无法获取操作系统控制台。
除了 VNC 控制台显示之外,其他一切都正常。我曾想过我需要为控制台设置串行输出,但这似乎也无济于事。在创建映像期间,我修改了 GRUB_CMDLINE_LINUX_DEFAULT
#!/bin/bash
KERNEL_OPTIONS=(
'console=tty1'
'console=ttyS0,115200n8'
)
#Replace default cmdline args with KERNEL_OPTIONS, to redirect logs to serial console
sudo sed -i -e \
"s/.*GRUB_CMDLINE_LINUX_DEFAULT=\"\(.*\)\"/GRUB_CMDLINE_LINUX_DEFAULT=\"${KERNEL_OPTIONS[*]}\"/" \
/etc/default/grub.d/50-cloudimg-settings.cfg
#Update grub to persist the change
sudo update-grub
有谁让 vnc 控制台显示与 Ubuntu 云镜像一起工作过吗?
答案1
您需要为虚拟机设置串行控制台。这可以通过将以下内容添加到虚拟机的 XML 定义中来完成:
<serial type='pty'>
<target port='0'/>
</serial>
<console type='pty' tty='/dev/pts/1'>
<source path='/dev/pts/1'/>
<target type='serial' port='0'/>
</console>
您还需要将以下内容添加到/etc/default/grub
文件中:
GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0,115200n8"
之后,您应该能够在 VNC 查看器中看到控制台输出。