December 9th, 2008

Собачка

Настраиваем USB для Virtual Box

С сетью я разобрался не так давно. Теперь вот дошла очередь и до подключения USB-устройств. Не то, чтобы я очень горел желанием подключать флэшки в виртуально запущенную Windows, их и в Linux можно прочитать не хуже. Но вот синхронизировать данные с КПК в Linux не получалось. Microsoft ActiveSync и Outlook соглашаются работать только в родной обстановке. В присутствии других операционных систем, видимо, стесняются.

Но устройства эти, которые USB, сразу с ходу к "коробке" подключаться не хотят. То, что написано в справочной системе и то, что я находил в Сети в моём случае (ASP Linux 12 Carbon, Fedora 7 based) ни разу не помогало. Рылся я в разных источниках какое-то время, да всё без толку. А надо-то было, как выяснилось, буквально пару строчек. И нашёл я их вот здесь: http://tigro.info/blog/index.php?id=335 Раздел "Настройка USB". Да, собственно, вот тот кусок, который мне был нужен:

Здесь нужно начать вот с чего. VirtualBox получает доступ к USB устройствам через usbfs. А доступа обычному пользователю к ней нет. В Fedora (7?) отсутствует пользователь usbfs (и все файлы и каталоги имеют uid,gid=0), однако есть пользователь users с gid 100. Сперва добавим себя в его группу (и не забудем перелогинится):

gpasswd -a пользователь users

Дальше веселее. Нужно сделать так, чтобы все файлы и каталоги в /proc/bus/usb имели gid 100. Монтируется эта файловая система в Fedora из /etc/rc.sysinit. Прямо в этом файле можно найти упоминание об usbfs (там 2 строки) и подправить их следующим образом

mount -o busgid=100,devgid=100 -n -t usbfs /proc/bus/usb /proc/bus/usb

Но так как этот файл всё-таки править не следует, то лучше в /etc/rc.local добавить строчку

mount -o busgid=100,devgid=100,remount -n -t usbfs /proc/bus/usb /proc/bus/usb

Если вы редко подключаете USB к гостевым ОС, то вполне можно просто отдавать последнюю команду по мере необходимости.

После этого, подключите нужное устройство в USB, в настройках гостевой виртуальной машины включите поддержку USB и добавьте нужное устройство щёлкнув по зелёному плюсику (+). Вообще-то не особо удобно в отличии от VMware, но с другой стороны не так уж и сложно.


А! Стоп! Всё не так!
Ну, не совсем всё, но с командой монтирования. Просто я на радостях увлёкся. Вот здесь: http://community.asplinux.ru/forum/8/3643/ очень важное уточнение именно для моей версии Linux:
Re: VirtualBox
Автор: Labaman. Дата: 5 апреля, 8:30
Ура! Решил я эту проблему! Просто для Fedora, в частности и для ASP формат комманды отличался от приводимого из-за использования SELinux:
Чтобы в ASP USB зврвботвл в VirtualBox нужно от root'а выполнить слкдующую комманду:

mount -t usbfs -o remount,devgid=$(awk -F: '/^vboxusers:/{print $3}' /etc/group),devmode=664 /proc/bus/usb /proc/bus/usb

Можно прописать эту строку в конец /etc/rc.d/rc.local для полного счастья. Сейчас у меня все действительно работает!


Вот так действительно работает.
:-)