Fedora20+KVM+PT2

Fedora20にてブートローダーが変わっていてハマったのでメモ

Grub 2のブートローダーを採用しているLinuxでKVMを使用してPT2をゲストで使いたい人向け。

環境

Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz
Asus H87-PLUS
Karnel 3.12.9

ドライバのアンロード

[root@localhost ~]# lspci -tv
-[0000:00]-+-00.0 Intel Corporation 4th Gen Core Processor DRAM Controller
 +-01.0-[01]--
 +-02.0 Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller
 +-14.0 Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI
 +-16.0 Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1
 +-1a.0 Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2
 +-1c.0-[02]----00.0 Intel Corporation 82574L Gigabit Network Connection
 +-1c.3-[03-04]----00.0-[04]----00.0 Xilinx Corporation Device 222a
 +-1d.0 Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1
 +-1f.0 Intel Corporation H87 Express LPC Controller
 +-1f.2 Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode]
 \-1f.3 Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller

上記コマンドでアンロードするデバイスを確認します。

[root@localhost ~]# lspci -vv -s 04:00.0
04:00.0 Multimedia controller: Xilinx Corporation Device 222a (rev 01)
 Subsystem: Device ef11:ddd5
 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
 Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
 Latency: 32
 Region 0: Memory at f7c00000 (32-bit, non-prefetchable) [size=4K]
 Kernel driver in use: earth-pt1

使用されているドライバを確認します。

このドライバをブラックリストに入れましょう。

[root@localhost ~]# vi /etc/modprobe.d/blacklist.conf
blacklist earth-pt1

カーネル起動オプションの設定

IntelのCPUでPCIパススルーするには、起動オプションでintel_iommu=onを指定する必要があります。VT-dってやつです。BIOSでも有効にしてください。

[root@localhost ~]# cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.12.9-301.fc20.x86_64 root=UUID=11fe3cb2-fa21-4feb-9a19-4af30724804f ro vconsole.font=latarcyrheb-sun16 rhgb quiet quiet intel_iommu=on LANG=ja_JP.UTF-8

こういうふうにならないとダメなんですよ。

普通はこの位置にGrub2の起動オプションが有るんですよ。
/boot/grub2/grub.cfg

ただ、EFIを有効にしていると以下の位置になります。
/boot/efi/EFI/fedora/grub.cfg

まぁこれだけの話なんですけどね。

[root@localhost ~]# vi /etc/default/grub 
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

GRUB_CMDLINE_LINUXにintel_iommu=onを追記して保存

[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
[root@localhost ~]# grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

で設定を反映させます。
再起動後cat /proc/cmdline実行してちゃんとオプション追加していればOK!

最後

後は適当に仮想マシン追加していじってください。

Virioの導入も忘れずに。

http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers

必要に応じて下記のサイトも割と参考になるので読んでください。

http://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM

コメントを残す

Close Menu