Пишу для себя, что б не забыть, но может еще кому-то пригодится.
Для начала расскажу что такое VirtualBox.
VirtualBox - виртуальная машина, имеющая статус Open Source. Работает на системах Windows, MacOS X, Linux.
Из особенностей, отличающих программу от VmWare:
- Возможность вручную выставлять размер видеопамяти (от 1 до 128 метров. Если они есть конечно :)
- Работа с устройствами, подключаемыми к USB.
более подробно тут:
http://ru.wikipedia.org/wiki/VirtualBox
http://www.ixbt.com/cm/virtualization-virtualbox.shtml
официальный сайт тут:
http://www.virtualbox.org/
Ну а теперь про наших баранов - поддержке USB.
Пользователи Ubuntu/Debian наверняка заметили, что в VirtualBox "из коробки" не заводится поддержка USB-устройств.
При попытке включить USB выдается сообщение об ошибке:
Could not load the Host USB Proxy Service (VERR_FILE_NOT_FOUND). The service might be not installed on the host computer.
Либо, как вариант, этого сообщения нет, подключенные usb-устройства видны в интерфейсе virtualbox'а, но не активны.
Проблема в отключенной по умолчанию usbfs и правах доступа. Решение, конечно же, есть.
Вероятно, это решение справедливо и для других дистрибутивов в случае возникновения такой проблемы.
Необходимо проделать следующее:
Шаг 1.
Необходимо прописать права группы для USB-устройств, в которую включен тот пользователь, которым логинимся при входе в систему в /etc/udev/rules.d/40-permissions.rules (Для Debian - это файл /etc/udev/rules.d/020_permissions.rules). Лично я использую группу vboxusers, которую мы должны были настроить после установки самой программы VirtualBox. Редактировать файл нужно своим любимым редактором, но с полномочиями суперпользователя:
Ubuntu:
$ sudo joe /etc/udev/rules.d/40-permissions.rules
Debian:
$ sudo joe /etc/udev/rules.d/020_permissions.rules
В этом файле нам необходимо строки
# USB devices (usbfs replacement)
SUBSYSTEM=="usb_device", MODE="0664"
изменить на
# USB devices (usbfs replacement)
SUBSYSTEM=="usb_device", GROUP="vboxusers", MODE="0664"
А если точнее, то всего лишь добавить группу, членом которой является наш пользователь.
Шаг 2.
Правим файл /etc/init.d/mountdevsubfs.sh, как всегда с правами root-а
$ sudo joe /etc/init.d/mountdevsubfs.sh
Для Ubuntu:
Найдите строку # Magic to make /proc/bus/usb work и следующие ниже нее строки раскомментировать (убрать значок # в начале сток). В итоге у нас должно получиться, что-то типа этого (фрагмент файла):
#
# Magic to make /proc/bus/usb work
#
mkdir -p /dev/bus/usb/.usbfs
domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
ln -s .usbfs/devices /dev/bus/usb/devices
mount --rbind /dev/bus/usb /proc/bus/usb
Для Debian:
В функцию do_start () в самый низ добавьте:
domount usbfs usbdevfs /proc/bus/usb -onoexec,nosuid,nodev
а потом, для Debian, в файл /etc/fstab добавьте строку:
none /proc/bus/usb usbfs rw,user,devgid=1001,devmode=0666 0 0
Все, после этих нехитрых операций надо просто перезагрузить систему и USB в VirtualBox будет работать.
использованы материалы:
Поддержка USB в VirtualBox
Использование USB в VirtualBox
Debian Etch USB Support and Shared Folder