首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何确认VFIO在20.04中工作?

如何确认VFIO在20.04中工作?
EN

Ask Ubuntu用户
提问于 2020-06-05 03:00:15
回答 1查看 14.5K关注 0票数 6

我刚刚安装了Ubuntu 20.04,并试图让GPU通过操作,但我似乎无法使用以前工作过的方法启用VFIO:

/etc/initramfs-tools/modules

代码语言:javascript
运行
复制
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
vhost-net

/etc/default/grub

代码语言:javascript
运行
复制
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash iommu=1 amd_iommu=on vfio_pci.ids=10de:1b81,10de:10f0 vfio_iommu_type1.allow_unsafe_interrupts=1"
GRUB_CMDLINE_LINUX=

但是在内核中似乎没有启用VFIO。

代码语言:javascript
运行
复制
~$  lsmod | grep kvm
kvm_amd                98304  0
kvm                   663552  1 kvm_amd
ccp                    86016  13 kvm_amd
~$ lsmod | grep vfio
~$ 

我无法将GPU的驱动程序绑定到VFIO,除非我能够确认启用了VFIO,对吗?

编辑:我以前有过路,每件事都在拱门下工作了大约一年。这显然是Ubuntu的事。我用的是ASROck x399太极上的150 X闪光灯。

Edit2:我得到了vfio_mdev加载的一些进展。这是替代了正则的vfio,还是我仍然需要加载vfio

代码语言:javascript
运行
复制
$ sudo modprobe vfio_mdev
$ lsmod | grep -i vfio
vfio_mdev              16384  0
mdev                   24576  1 vfio_mdev

编辑3:好,看来vfio不再是一个模块,而是内置在内核中的。https://forum.level1techs.com/t/ubuntu-20-04-missing-kernel-modules-for-vfio-pci-and-vfio-iommu-type1/156327/2

这似乎确实是正确的:

代码语言:javascript
运行
复制
~$ cat /boot/config-5.4.0-33-generic | grep -i vfio
CONFIG_KVM_VFIO=y
CONFIG_VFIO_IOMMU_TYPE1=y
CONFIG_VFIO_VIRQFD=y
CONFIG_VFIO=y
CONFIG_VFIO_NOIOMMU=y
CONFIG_VFIO_PCI=y
CONFIG_VFIO_PCI_VGA=y
CONFIG_VFIO_PCI_MMAP=y
CONFIG_VFIO_PCI_INTX=y
CONFIG_VFIO_PCI_IGD=y
CONFIG_VFIO_MDEV=m
CONFIG_VFIO_MDEV_DEVICE=m
# CONFIG_SAMPLE_VFIO_MDEV_MTTY is not set
# CONFIG_SAMPLE_VFIO_MDEV_MDPY is not set
# CONFIG_SAMPLE_VFIO_MDEV_MDPY_FB is not set
# CONFIG_SAMPLE_VFIO_MDEV_MBOCHS is not set

好的,如果它是内置的,那么lsmod就不会显示它,因为它不是一个模块。有什么方法可以确认vfio在起作用吗。这个来自dmesg的输出是否足以证实这一点,并继续我的下一个问题(pci-别名‘不再像以前那样工作了)。但这是另一条线索。

代码语言:javascript
运行
复制
dmesg | grep -i -e vfio
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-33-generic root=/dev/mapper/main--VG-lvroot ro quiet splash iommu=1 amd_iommu=on vfio_pci vfio_iommu_type1.allow_unsafe_interrupts=1 vt.handoff=7
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-33-generic root=/dev/mapper/main--VG-lvroot ro quiet splash iommu=1 amd_iommu=on vfio_pci vfio_iommu_type1.allow_unsafe_interrupts=1 vt.handoff=7
[    0.532762] VFIO - User Level meta-driver version: 0.3
EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2021-03-20 18:49:04

如果内核已经与vfio驱动程序一起构建,则无法使用lsmod显示vfio驱动程序是否已加载到linux内核中。但是,您仍然可以看到这些驱动程序是否是使用以下命令内置到内核中的:

代码语言:javascript
运行
复制
# cat /lib/modules/$(uname -r)/modules.builtin | grep vfio

kernel/drivers/vfio/vfio.ko
kernel/drivers/vfio/vfio_virqfd.ko
kernel/drivers/vfio/vfio_iommu_type1.ko
kernel/drivers/vfio/pci/vfio-pci.ko

此命令还可以帮助您在"grep“之后检查内核中具有不同驱动程序名称模式的其他内置驱动程序。

票数 7
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1247058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档