Gentoo kvm 来宾集成 (vmchannel)

Gentoo kvm 来宾集成 (vmchannel)

我正在努力找一份工作虚拟机通道致我的 gentoo kvm 客人。

我启用了为 gentoo guest 推荐的内核选项。由于该通道似乎是字符设备,我还在Virtio console下启用了Character devices

尽管如此,客人似乎没有任何类似的设备/dev/vport0p1。例如,我的 Fedora 来宾设备显示没有问题(并且来宾集成也可以工作)。不幸的是,到目前为止,我还没有发现工作客人与工作客人有dmesg太大区别。lspci

这是vportFedora 上的样子:

# udevadm info /dev/vport2p1
P: /devices/pci0000:00/0000:00:02.1/0000:02:00.0/virtio2/virtio-ports/vport2p1
N: vport2p1
L: 0
S: virtio-ports/com.redhat.spice.0
E: DEVPATH=/devices/pci0000:00/0000:00:02.1/0000:02:00.0/virtio2/virtio-ports/vport2p1
E: DEVNAME=/dev/vport2p1
E: MAJOR=242
E: MINOR=1
E: SUBSYSTEM=virtio-ports
E: USEC_INITIALIZED=4427561
E: SYSTEMD_WANTS=spice-vdagentd.socket
E: DEVLINKS=/dev/virtio-ports/com.redhat.spice.0
E: TAGS=:systemd:

我是否只是缺少内核选项、udev 规则或类似的东西?并且:建立到访客的通道的基本要求(对于访客/内核)是什么?


Kernel version: 5.4.80-gentoo #3

启用的选项:

BLK_MQ_VIRTIO
VIRTIO_BLK
VIRTIO_BLK_SCSI
SCSI_VIRTIO
VIRTIO_NET
VIRTIO_CONSOLE
HW_RANDOM_VIRTIO
DRM_VIRTIO_GPU
VIRTIO
VIRTIO_MENU
VIRTIO_PCI
VIRTIO_BALLOON
VIRTIO_INPUT
VIRTIO_MMIO
VIRTIO_MMIO_CMDLINE_DEVICES
VIRTIO_FS
DRM_QXL (but I'm using virgl/virtio_gpu right now)

禁用选项:

VIRTIO_PCI_LEGACY

我的虚拟机配置中的通道:

<channel type="unix">
  <target type="virtio" name="org.qemu.guest_agent.0"/>
  <address type="virtio-serial" controller="0" bus="0" port="1"/>
</channel>
<channel type="spicevmc">
  <target type="virtio" name="com.redhat.spice.0"/>
  <address type="virtio-serial" controller="0" bus="0" port="2"/>
</channel>

答案1

我意识到已经过去两个多月了;但试试这个:

如果从 Gentoo 安装 CD 启动 VM,则应该请参阅vport*中列出的字符设备/dev以及virtio-ports目录。尝试一下并确认它们。

从光盘从我昨天完成的安装启动,我看到了这个:

# ls -l /dev/vport*
crw------- 1 root root 250, 1 Feb 11 04:53 /dev/vport1p1
crw------- 1 root root 250, 2 Feb 11 04:53 /dev/vport1p2
# ls -l /dev/virtio-ports
total 0
lrwxrwxrwx 1 root root 11 Feb 11 04:53 com.redhat.spice.0 -> ../vport1p2
lrwxrwxrwx 1 root root 11 Feb 11 04:53 org.qemu.guest_agent.0 -> ../vport1p1

如果一切正常,请继续,就像执行全新安装一样。

备份当前/usr/src/linux目录和当前/boot文件。

然后chroot就像安装说明中一样。使用 GENKERNEL 进行编译,如下所示:

(chroot) livecd / # cd /usr/src/linux
(chroot) livecd / # make mrproper
(chroot) livecd / # make defconfig
# ~~~
### 5.4 kernel version, prior to kernel v.5.10 -- the kvmconfig target is available:
(chroot) livecd / # make kvmconfig
# ~~~
### 
(chroot) livecd / # genkernel --virtio --menuconfig all

然后,按照提示进行操作Gentoo 维基页面就像你之前做的那样,另请参阅这一页,并设置那些推荐的内核选项。使用新内核启动,看看 /dev 中有什么。

相关内容