User Tools

Site Tools


ru:doc:howto:usb.storage

USB Хранилище

Пожалуйста, изучите flash.layout.

Получив базовую поддержку USB, вы захотите подключить USB устройство хранения к вашему роутеру, флешку, например, или USB жёсткий диск. Эта статья расскажет вам необходимые для этого шаги.

Подготовка

Перечень действий примерно такой:

  1. Получите базовую поддержку USB на вашем устройстве с OpenWrt;
  2. Установите необходимые пакеты для USB хранилища, как показано ниже). Подключенное устройство USB (например, жёсткий диск) может быть распознано системой;
  3. Если ещё не сделано, сделайте разметку диска и создайте файловую систему (изучите инструкцию Storage чтобы сделать это с помощью OpenWrt). Само устройство и его разделы должны немедленно появиться в Файле устройства в папке /dev/. Например, /dev/sda это устройство, с разделами /dev/sda1, /dev/sda2 и т.д. В случае, когда устройство не размечено и использует единую файловую систему, оно может быть доступно как /dev/sda. Последующие устройства, которые вы подключите, будут называться /dev/sdb, /dev/sdc и так далее. Убедитесь, что установлены правильные пакеты ядра для поддержки конкретной файловой системы (смотрите Storage);
  4. После эти файловые системы могут быть подключены и к ним появится доступ, смотрите Storage. По желанию, вы можете настроить автоматическое подключение этих ФС при загрузке /etc/config/fstab, либо использовать как корневую файловую систему через extroot.

Необходимые пакеты для USB Хранилища

Когда ваше USB устройство правильно распознано системой, используя правильный драйвер ядра из списка базовая поддержка USB, следующие пакеты позволят осуществить поддержку USB хранилища:

  • kmod-usb-storage требуется … Поддержка ядром запоминающих устройств USB.
  • kmod-fs-<file_system> требуется … файловая система вашего устройства. Зачастую это kmod-fs-ext4, kmod-fs-hfs, kmod-fs-hfsplus, kmod-fs-msdos, kmod-fs-ntfs, kmod-fs-reiserfs и kmod-fs-xfs.
  • kmod-usb-storage-extras опционально … Поддержка ядром большего количества устройств, таких как SmartMedia считыватели кард.
  • block-mount рекомендуется & требуется (при использовании fstab или luci Точек Монтирования) … Скрипты для подключения и проверки устройств (файловые системы и раздел подкачки), а также горячего подключения (распознование только что подключенных устройств).
  • kmod-scsi-core Любое запоминающее устройство это обычное SCSI устройство.
До релиза Attitude Adjustment, требовались дополнительные пакеты: block-hotplug для распознавания USB при подключении и block-extroot для корневой файловой системы на внешнем носителе. В сборке r26314 они были объединены в единый block-mount.

Дополнительные пакеты для USB Хранилища

  • e2fsprogs опционально Этот пакет содержит базовые утилиты для файловых систем ext2/ext3/ext4, такие как mkfs.ext3, mkfs.ext4, fsck и другие основные программы для форматирования и проверки на ошибки.

Примеры

Выполняется установка поддержки USB хранилища, предполагается, что USB уже настроен, включим поддержку файловой системы ext4 и подключим подсоединённое устройство USB, с уже созданным разделом подкачки Linux и разделом ext4.

opkg update
opkg install kmod-usb-storage block-mount kmod-fs-ext4
mkswap /dev/sda1
swapon /dev/sda1
mkdir -p /mnt/share
mount -t ext4 /dev/sda2 /mnt/share -o rw,sync

Помните, что разделы часто определяются автоматически и следующая команда тоже должна работать с настройками по умолчанию:

  mount /dev/sda2 /mnt/share

Другой пример. Как использовать флешку с файловой системой FAT32 (поддержка ext4 останется). Читайте также Storage.

opkg update
opkg install kmod-usb-storage block-mount block-hotplug kmod-fs-ext4 kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1
mkdir -p /mnt/usb
mount -t vfat /dev/sda1 /mnt/usb

Запрещаем запись для не подключенных устройств

Вы можете создать пустой файл, чтобы предотвратить запись файлов прямо в память роутера, если внешнее устройство не подключено:

umount /mnt/usb   #убедитесь, что диск отключен, прежде чем начать
touch /mnt/usb/USB_DISK_NOT_PRESENT
chmod 555 /mnt/usb
chmod 444 /mnt/usb/USB_DISK_NOT_PRESENT
Теперь процессы, которые не запущены с правами root, не будут записывать в память устройства (изучите эту тему). И, конечно, вы можете использовать этот файл в своих собственных скриптах.

LUKS

Шифрование диска Linux с помощью LUKS

  1. Установите необходимые пакеты:

opkg install cryptsetup lvm2 kmod-crypto-aes kmod-crypto-misc kmod-crypto-xts kmod-crypto-iv kmod-crypto-cbc kmod-crypto-hash kmod-dm

  1. Создайте необходимые файлы настроек: Большая часть пакетов kmod-crypto-* создают файлы в папке /etc/modules.d чтобы автоматически включать модули при загрузке. Но пакет kmod-crypto-misc содержит модуль sha256 (помимо прочих) который является исключением, следовательно мы должны вручную создать такой файл:

echo sha256_generic >/etc/modules.d/11-crypto-misc

  1. Подключаем зашифрованый раздел: Замените /dev/encrypted_partition путём к вашему зашифрованому разделу и /mnt/mountpoit желаемой точкой монтирования:

cryptsetup luksOpen /dev/encrypted_partition usbstorage_luks && mount /dev/mapper/usbstorage_luks /mnt/mountpoint

  1. Отключаем:

umount /mnt/mountpoint && cryptsetup luksClose usbstorage_luks

Примечания

<пока нет>


ru/doc/howto/usb.storage.txt · Last modified: 2015/09/05 10:47 by krapiva