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

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

Подготовка системы

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

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

  su

Переходим в папку с исходниками ядра:

  cd /usr/src/linux

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

  make menuconfig

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

 [M] USB Gadget Support

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

 

<M>     Mass Storage Gadget
<M>     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

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

Оцените статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (2 оценок, среднее: 5,00 из 5)
Загрузка...

2 комментария

  1. dmitry Октябрь 5, 2016 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: