Bhyve passthru usb in FreeBSD

 

 

Передача 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 это просто а главное увлекательно!

 

Share This Article

Previous Article

March 19, 2023 • 11:49AM

Next Article

January 30, 2024 • 3:46AM

From Our Blog