DebianでのLinux-KVMによるPCIパススルーの実装
PCIパススルーを使用して、古いビデオカード(Radeon 4770)を仮想マシンに接続しようとしています。Linux-KVMを使用して、仮想マシンをDebian Linux(Wheezy、3.2.0-4-amd64)ホストで実行しています。 質問 明確にするために、Linux KVMでPCIパススルーを実装するための正しい「パス」が何かはわかりません。この段階で、私は正しいアクションがしている疑いの追加CONFIG_DMAR、CONFIG_DMAR_DEFAULT_ONおよびCONFIG_PCI_STUB「バスオプション(PCIなど)、」カーネルソースと再コンパイルのセクションに。 しかし、これが再コンパイルする前に必要な追加の完全なリストであるかどうかはわかりません。または、カーネルの再コンパイルが必要な場合-おそらくより簡単な方法がありますか? 私が参照したガイドの中で、linux-kvm.orgのみがコンパイルが必要であると明確に述べています。Linux-KVMはすでにインストールされており、ハイパーバイザーとして機能しています。 研究 この時点で、私の問題はカーネルに関連していると思います。私の主なリソースはlinux-kvm.org(http://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM)のガイドです。ただし、(特定の)ディストリビューション固有のわずかに異なる方法を示す他のリソースを見つけました。 Fedora- https: //docs.fedoraproject.org/en-US/Fedora/13/html/Virtualization_Guide/chap-Virtualization-PCI_passthrough.html SUSE-"openSUSE:KVMによる仮想化"(関連性が低く、2リンク制限のためリンクは省略されています) Fedoraガイドは、setseboolRedHat固有と思われる参照まで機能します。SUSEガイドは、グラフィックカードの割り当てがSUSEでサポートされていないことを示していますが、CONFIG_DMAR_DEFAULT_ON/ boot / config-`uname -r`内で文字列を検索する必要があることを示しているので、それも参照します。linux-kvm.orgサイトも参照CONFIG_DMAR_DEFAULT_ONするので、これが表示されますが、共通して必要な要素であると。 注: FedoraまたはDebianのガイドでは、グラフィックカードの制限は見つかりませんでした。参照されているSUSEドキュメントの日付は2006〜2013です。 CONFIG_DMAR_DEFAULT_ONシステムの/ boot / config-`uname -r`で見つかりません。さらなる研究は、そのことを示唆しているCONFIG_DMAR、CONFIG_DMAR_DEFAULT_ONとCONFIG_PCI_STUBの指示に関連するLinuxカーネルの設定項目ですlinux-kvm.org。そのため、ホストのカーネルをこれらの3つの(少なくとも)カーネル構成項目で再コンパイルする必要があると思います。intel_iommu=onホストOSのカーネルパラメータとしてを使用した起動では不十分なようです。 GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on" VT-d / IOMMU / KVMサポートの確認 私の調査によると、PCIパススルーにはVT-dのCPUとマザーボードの両方のサポートが必要です。 VT-d 私のプロセッサー、k以外の INTEL i7-3770(ark.intel.com/products/65719ごと)がVT-dをサポートしていることを確認しました。 ダイレクトI / O向けインテル®バーチャライゼーションテクノロジー(VT-d)‡はい 私のAsrock Z77 Extreme4マザーボードはVT-dもサポートしています(ユーザーマニュアルの62ページ): VT-dこれを使用して、インテル®VT-dテクノロジー(ダイレクトI / O向けインテル®仮想化テクノロジー)を有効または無効にします。この機能のデフォルト値は[Disabled]です。 IOMMU 私のシステムがIOMMUをサポートしていることを確認しました: dmesg …