仕事を救おうとしています。仮想マシンチャネル私のGentoo kvmゲストに。
有効にしましたGentooゲストに推奨されるカーネルオプション。チャンネルがキャラクターデバイスのようで、Virtio console
下でも活性化してくれましたCharacter devices
。
ところが、お客様は同様の機器を全く持っていないようです/dev/vport0p1
。たとえば、Fedoraゲストデバイスは問題なく表示されます(ゲスト統合も機能します)。残念ながら、これまではdmesg
働くゲストと働くゲストの間に大きな違いを感じませんでした。lspci
vport
Fedoraでは次のようになります。
# 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に何があるかを確認してください。