...
Чтобы узнать адрес токена, введем команду:
Code Block | ||||
---|---|---|---|---|
| ||||
$ lsusb -t /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M |__ Port 1: Dev 2, If 1, Class=Chip/SmartCard, Driver=, 480M |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M |__ Port 2: Dev 29, If 0, Class=Vendor Specific Class, Driver=r8152, 480M |__ Port 5: Dev 4, If 0, Class=Video, Driver=uvcvideo, 480M |__ Port 5: Dev 4, If 1, Class=Video, Driver=uvcvideo, 480M |__ Port 8: Dev 5, If 1, Class=Wireless, Driver=btusb, 12M |__ Port 8: Dev 5, If 0, Class=Wireless, Driver=btusb, 12M |
Устройство, имеющее класс класс Chip/SmartCard и есть токен. В нашем случае оно находится на первой шине и первом порту.
Перейдем к запуску:
Code Block | |||
---|---|---|---|
| |||
# Проброс токена в qemu | :
# Отключаем сервис pcscd
sudo systemctl stop pcscd pcscd.socket
# Указываем путь до ядра
# Указываем путь до initramfs образа
# Указываем Размер оперативной памяти виртуальной машины в мегабайтах
# Включаем KVM
# Добавляем эмуляцию usb контроллера
# Указываем протокол работы контроллера (ehci. Для xhci передаем "-device qemu-xhci")
# Указываем путь до пробрасываемемого устройства
sudo qemu-system-x86_64 -kernel /boot/vmlinuz-$(uname -r) \
-initrd /boot/initrd.img-$(uname -r) \
-m 1024 \
-cpu host \
-enable-kvm \
-usb \
-device usb-ehci,id=ehci \
-device usb-host,hostbus=1,hostport=1 |
...