Виртуальная флешка в Linux

Эмуляция флешки очень нетривиальная задача, но все же иногда может понадобиться. Оказывается в Linux и такое можно. Для эмуляции используется подсистема ядра USB Gadget и модуль g_mass_storage.

Содержание статьи: Подготовка системы Подготовка файлов Эмуляция usb Подготовка системы

Естественно для работы этого всего нужно включить поддержку данного модуля в ядре Linux. Если у вас бинарный дистрибутив вроде Ubuntu или Debian то скорее всего все уже включено, а в Gentoo нужно проделать следующее:

Получаем права суперпользователя:   su

Переходим в папку с исходниками ядра:   cd /usr/src/linux

Запускаем настройку конфигурации:   make menuconfig

Идем в раздел Device Drivers -> USB Support -> USB Gadget Support и включаем его в виде модуля:  [M] USB Gadget Support

затем включаем пункт Mass Storage:

      Mass Storage Gadget     Gadget Filesystem

Сохраняем, выходим и пересобираем ядро:   make && make modules && make install && make modules_install

После всего не забудьте перезагрузиться. Подготовка файлов

В место флешки мы будем подставлять файл. Нужно его подготовить, но не просто создать, а подготовить. Для этого выбираем нужное количество байт из /dev/zero:   dd if=/dev/zero of=~/usb count=500M

Форматируем файл в ext2:   mkfs -t ext2 ~/usb Эмуляция usb

Вот теперь все готово. Загружаем модуль командой:   modprobe g_mass_storage file=~/usb stall=0 removable=y

Теперь у вас в системе есть виртуальная флешка.

Отправка комментария

0 Комментарии