Gentoo kvmゲスト統合(vmchannel)

Gentoo kvmゲスト統合(vmchannel)

仕事を救おうとしています。仮想マシンチャネル私のGentoo kvmゲストに。

有効にしましたGentooゲストに推奨されるカーネルオプション。チャンネルがキャラクターデバイスのようで、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

私のVM設定のチャンネル:

<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

2ヶ月を超えたことを知っていますが、次のことを試してください。

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 Wiki ページ前と同様に、次も参照してください。このページ、推奨カーネルオプションを設定します。新しいカーネルで起動し、/devに何があるかを確認してください。

関連情報