Передача usb-устройств из основной системы в виртуальную
Bhyve поддерживает передачу usb-устройств из основной системы в виртуальную, благодаря чему мы можем подключить внешнее usb-устройство из нашей хостовой FreeBSD в нашу виртуальную Windows в гипервизоре Bhyve.
Для начала установим Bhyve и настроим, затем перейдем к установке Windows, откроем терминал и введем команду:
pkg install vm-bhyve bhyve-firmware
Затем, используя любой удобный для вас текстовый редактор, например ee или mc, добавляем в /etc/rc.conf такие строки:
vm_enable="YES"
vm_dir="/vm"
Также нужно добавить в /boot/loader.conf следующую строку:
hw.vmm.amdvi.enable="1"
Затем запустите vm init и скопируйте все шаблоны в папку с виртуальными машинами:
vm init
cp /usr/local/share/examples/vm-bhyve/* /vm/.templates
Теперь создадим коммутатор, через который будет идти интернет в наши виртуальные машины:
vm switch create public
vm switch add public re0
Далее создаем файл конфигурации, используя шаблон для Windows и образ диска с названием Win или любым другим:
vm create -t windows -s 50G Win
Устанавливаем Windows, выполнив команду, для подключения к системе используем любой vnc клиент. Адрес по умолчанию 0.0.0.0.0.0:5900 или смотрим его с помощью команды:
vm list
vm install Win/Windows-10.iso
После установки системы нужно посмотреть список наших USB-устройств:
pciconf -lv
или ищем наши USB контроллеры так:
pciconf -lv | grep USB
pciconf -lv | grep xhci
Например, это будет xhci0@pci0:2:0:0:0:
Для передачи USB контроллера в Bhyve выполним эту команду:
devctl set driver -f pci0:2:0:0:0:0:0 ppt
Затем смотрим, готово ли устройство
vm passthru
Если да, то настраиваем файл конфигурации виртуальной машины. Переходим в папку с виртуальной машиной и редактируем его, добавив строку:
cd vm/Win/Win.conf
ee Win.conf
#USB
passthru0="2/0/0"
Все запускаем виртуальную машину vm start Win и подключаем любое внешнее USB-устройство.
Затем чтобы USB устройства были снова доступны в хостовой системе выполните это:
devctl set driver -f pci0:2:0:0:0 xhci
Если вам нужно чтобы passthru было включено постоянно добавьте в /boot/loader.conf это:
pptdevs="2/0/0"
BSD это просто а главное увлекательно!