Эмуляция флешки очень нетривиальная задача, но все же иногда может понадобиться. Оказывается в 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 Комментарии