BIOS에서 svm 및 iommu를 활성화했지만 dmesg에 "사용할 수 없음"이 표시됩니다.
# root@xen:~# dmesg |grep -i iommu
[ 0.000000] Command line: placeholder root=UUID=4965005e-54e9-47b9-92ff-04f469927bf8 ro amd_iommu=on iommu=soft iommu=pt iommu=1 quiet
[ 0.000000] Kernel command line: placeholder root=UUID=4965005e-54e9-47b9-92ff-04f469927bf8 ro amd_iommu=on iommu=soft iommu=pt iommu=1 quiet
[ 4.271167] AMD IOMMUv2 driver by Joerg Roedel <[email protected]>
[ 4.271168] AMD IOMMUv2 functionality not available on this system
BIOS 설정:
root@xen:~# uname -a
Linux xen 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 GNU/Linux
root@xen:~# dmidecode |grep -i product
Product Name: To be filled by O.E.M.
Product Name: GA-970-Gaming SLI-CF
root@xen:~# grep Processor /proc/cpuinfo |tail -1
model name : AMD FX(tm)-8300 Eight-Core Processor
root@xen:~# grep iommu /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=on iommu=soft iommu=pt iommu=1 quiet"
답변1
http://wiki.xen.org/wiki/VTd_HowTo:
칩셋이 IOMMU를 지원하더라도 이를 사용하려면 BIOS에 ACPI IVRS 테이블이 있어야 합니다! 따라서 실제 지원은 마더보드 제조업체에 따라 다릅니다. 이 글을 쓰는 시점에서 모든 마더보드에는 IOMMU를 지원하는 (베타) BIOS가 있는 것으로 보입니다.
970 칩셋 자체가 가상화를 지원하는 것처럼 보이지만 BIOS도 이를 지원해야 합니다. 또한 귀하의 마더보드가 이와 관련하여 작동하는 것으로 알려진 것으로 표시되지 않습니다.
그래서 가상화를 지원하지 않는 것 같습니다.
저는 GA-990FXA-UD3 및 GA-990FXA-UD5를 사용해 본 경험이 있습니다. 둘 다 kvm을 잘 실행합니다.
답변2
amd_iommu=on iommu=soft iommu=pt iommu=1 quiet
모두 활성화 한 것 같습니다 . 이런 일은 있어서는 안 됩니다. grub을 편집하고 quiet
, amd_iommu=on
및 만 활성화하는 것이 좋습니다 iommu=pt
. 뭔가 빠진 것 같지만 splash
스플래시 화면을 원하지 않을 수도 있습니다.
iommu=pt
(패스 모드)와 iommu=soft
(소프트웨어 모드)를 동시에 활성화하면 둘 중 하나만 사용해야 하므로 충돌이 발생합니다. iommu=pt
마더보드를 통해 제공되는 실제 IOMMU를 사용하므로 (패스스루 모드)를 사용하는 것이 좋습니다 .
grub에서 잘못된 IOMMU 구성을 수정하려면 다른 스레드에 있는 내 가이드를 따르십시오. https://ubuntuforums.org/showthread.php?t=2188370&page=3&p=13620494#post13620494
또는 아래 내용을 읽어보세요:
Grub 구성 편집:
sudo nano /etc/default/grub
아래와 같이 줄을 편집합니다.
GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=on iommu=soft iommu=pt iommu=1 quiet"
음성 태그 내부의 콘텐츠를 삭제하고 추가하면 "quiet splash amd_iommu=on iommu=pt"
이제 줄은 다음과 같습니다.
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amd_iommu=on iommu=pt"
그럽 업데이트:
sudo update-grub
시스템을 다시 시작하고 DEL/Delete 키를 눌러 BIOS/EUFI 설정으로 들어갑니다.
IOMMU가 활성화되어 있는지, XHCI 스위칭이 활성화되어 있는지, EHCI 스위칭이 비활성화되어 있는지, USB 레거시 지원이 활성화되어 있는지 확인하십시오.
OS 유형을 Windows8로 설정했지만 CSM "호환성 지원 모듈"을 활성화하여 Linux가 UEFI 대신 BIOS 에뮬레이션을 통해 부팅하도록 했습니다.
BIOS/UEFI 설정을 저장하고 종료합니다. 이제 Linux에서 IOMMU를 올바르게 사용할 수 있습니다.