我正在 FreeBSD 上迈出第一步,所以请原谅任何可能的“linuxism”。
我的目标是在带有 QEMU/KVM 的虚拟机内运行 FreeBSD 10.2,并允许 USB3 网卡从主机直通,使其成为唯一可用的 WAN 接口。
要启动 QEMU/KVM,我运行以下命令:
kvm -m 4096 \
-snapshot \
-hda /path/to/the/image \
-device nec-usb-xhci,id=xhci,addr=0x5 \
-device usb-host,bus=xhci.0,vendorid=0x0b95,productid=0x1790 \
-net none
如果我尝试启动 Ubuntu 16.04,则运行良好。接口已启动,显示在lsusb
并且地址由 DHCP 分配。我还可以使用 VirtualBox 运行相同的 FreeBSD 映像:该卡被识别(因为它受 FreeBSD 支持)并且我看到:
pciconf -lv
#skipped
xhci0@pci0:0:12:0: class=0x0c0330 card=0x00000000 chip=0x1e318086 rev=0x00 hdr=0x00
vendor = 'Intel Corporation'
device = '7 Series/C210 Series Chipset Family USB xHCI Host Controller'
class = serial bus
subclass = USB
运行 QEMU 监视器时,info usb
对于 Ubuntu 和 FreeBSD,都会返回(毫不奇怪)相同的网卡条目。我发现在 QEMU 中添加 XHCI 控制器的唯一方法是指定 nec-usb-xhci,到目前为止,这是我看到的 VirtualBox 和 QEMU 之间的唯一区别。
有没有办法通过 QEMU 使 USB3 直通 FreeBSD 成为可能?
答案1
QEMU 有一个 USB3.0 错误,需要先修补。目前已知 10-stable 可以与 QEMU XHCI 配合使用。
https://lists.gnu.org/archive/html/qemu-devel/2016-08/msg03571.html
--高压钠灯