VirtualBox, Solaris & USB-поддержка

Apr 15, 2009 18:12

Узнав недавно о долгожданной поддержке USB на хостах с Солярисом, я решил проверить все на практике.

В общем, задача: сделать так, чтобы можно было пользоваться всеми функциями Canon MP530 (print, copy, scan) в виртуальной машине с Windows XP.

Для решения этой проблемы мне надо произвести следующее:

1) Сделать апгрейд VirtualBox с версии 2.1 на 2.2;
    2) Создать новую виртуальную машину;
    3) Установить Windows XP и принтер.

Чтобы сделать апгрейд, нужно:

1) Остановить все запущенные виртуальные машины, если таковые имеются;
    2) Удалить старый VirtualBox;
    3) Установить новый VirtualBox.

Итак, останавливаю две другие машины с Линуксом:

server:~# VBoxManage controlvm virt-debian poweroff
server:~# VBoxManage controlvm virt-redhat poweroff

Перед установкой новой версии нужно удалить старую:

server:~# pkgrm SUNWvbox
server:~# pkgrm SUNWvboxkern

Подготовка к установке:

server:~# wget http://download.virtualbox.org/virtualbox/2.2.0/VirtualBox-2.2.0-45846-SunOS.tar.gz
server:~# gunzip -cd VirtualBox-2.2.0-45846-SunOS.tar.gz | tar xvf -

Пока вопросов нет? Отлично, продолжаю. Требуется установить два пакета. В первом пакете находится модуль vbi (VirtualBox kernel interface module). Во втором - сама программа.

server:~# pkgadd -d VirtualBoxKern-2.2.0-SunOS.pkg
server:~# pkgadd -d VirtualBox-2.2.0-SunOS-x86.pkg

На этом установка новой версии VirtualBox завершена. Перехожу ко второму шагу: создаванию новой виртуальной машины.

Стоит отметить, что я, во-первых, работаю удаленно. И, во-вторых, создавать новую виртуальную машину с Windows XP я тоже буду удаленно, с помощью командной строки.

Я выделяю 256МБ оперативной памяти; резервирую 10ГБ дискового пространства; говорю, что надо загружать с CD/DVD и создаю мост со второй сетевой картой на моем сервере (yukonx1). Затем я указываю путь к образу с Windows XP и запускаю инсталляцию.
Потом можно будет открыть rdesktop и подсоединиться к серверу:3391. Почему 3391, а не к стандартному 3389? Просто-напросто, у меня несколько машин с включенным VRDP. И у каждой машины должен быть свой порт.

server:~# VBoxManage createvm -name virt-winxp -register
server:~# VBoxManage createvdi -filename virt-winxp.vdi -size 10000 -register
server:~# VBoxManage registerimage dvd "/storage/xp.iso"
server:~# VBoxManage modifyvm virt-winxp -memory 256MB -hda virt-winxp.vdi -acpi on -boot1 dvd -nic1 bridged -bridgeadapter1 yukonx1 -dvd "/storage/xp.iso" -vrdpport 3391

Чуть не забыл про самое главное. Надо найти принтер и активировать поддержку USB:

server:~# VBoxManage list usbhost
Host USB Devices:

UUID: 75155392-468d-4e27-bde0-40ff85ee872f
VendorId: 0x04a9 (04A9)
ProductId: 0x1712 (1712)
Revision: 1.8 (0108)
Manufacturer: Canon
Product: MP530
SerialNumber: 21A2A0
Address: /dev/usb/4a9.1712/0|/pci@0,0/pci1043,82d4@1d,7/device@2
Current State: Busy
server:~# VBoxManage modifyvm virt-winxp -usb on
server:~# VBoxManage usbfilter add 0 -target virt-winxp -name "Canon MP530 [0108]" -active yes -vendorid 04A9 -productid 1712 -revision 0108 -manufacturer Canon -product MP530 -remote no -serialnumber 21A2A0

Теперь нужно стартануть машину, только после этого принтер будет подключен:

server:~# VBoxHeadless -startvm virt-winxp -vrdp on -vrdpport 3391 &

На этом этапе VirtualBox сам подсоединит принтер, что можно увидеть в логе /var/adm/messages:

server:~# tail -2 /var/adm/messages
Apr 15 17:21:33 server VBoxUSBHelper[2176]: [ID 387370 user.error] VBoxUSBHelper: /usr/sbin/update_drv -d -i pci1043,82d4@1d,7/device@4 ugen
Apr 15 17:21:33 server VBoxSVC[1262]: [ID 594873 user.error] USBProxy: Success captured Canon MP530

Осталось открыть rdesktop и установить Windows, а потом и принтер:

macbook:~ norus$ rdesktop 10.0.0.40:3391

Ну, вот вроде и все. Как всегда, если будут вопросы - пишите.


Напоследок хочу показать, что задача выполнена



software, virtualization, home server, solaris, howto

Previous post Next post
Up