大家早上好,
我想在 manjaro os(内核 5.16.7)中启动我的辅助 sata 控制器时附加到 vfio 驱动程序。通常,我在 /etc/modprobe.d/vfio.conf 中添加设备,例如:
options vfio-pci ids=10de:100c,10de:0e1a,1b4b:9230,15b3:6274,1106:3403
在此示例中,有 gpu 音频和视频 (10de)、sata 控制器 (1b4b)、infiniband 卡 (15b3) 和火线 (1106)。
然后,我在 /etc/mkinitcpio.conf 中添加模块:
MODULES=(vfio_pci vfio vfio_iommu_type1 vfio_virqfd)
确保 modconf 在 HOOKS 中:
HOOKS=(modconf base udev autodetect block filesystems keyboard)
最后我生成initramfs:
mkinitcpio -P
一切都很好,设备连接到 vfio,除了 sata 控制器,它连接到 ahci 驱动程序(如果某些 vm 不使用)。如果我使用设置为通过的 sata 控制器启动 kvm vm,vfio 驱动程序会附加到它,但这不是我想要的:目标是在启动时将该 sata 控制器附加到 vfio(而不是附加到 vfio “在飞行中”)。
我找到了其他 oses 的一些说明,例如这里: https ://gist.github.com/kiler129/4f765e8fdc41e1709f1f34f7f8f41706
该操作解释说 ahci 驱动程序在 vfio 之前加载,但 manjaro 使用 mkinitcpio,我的问题是我不明白如何为我的操作系统调整/翻译这些指令。