Форматирование usb flash d ext на роутере

Обновлено: 08.07.2024

После того, как подключили usb-хаб, можно использовать его возможности. Подключим Flash-диск в OpenWrt и перенесем на него файловую систему, чтобы быть независимым от размера Flash-памяти, которая стоит в роутере.

На этапе конфигурации OpenWrt нужно установить следующие модули:
Kernel modules:
USB Support:
kmod-usb-storage (Flash-диск в OpenWrt)
Filesystems:
kmod-fs-ext3
Base system:
block-extroot
Utilities:
Filesystem:
e2fsprogs
disc:
fdisk

Подключаем Flash-диск к роутеру. Заходим через телнет на роутер:

Ищем, как Flash-диск определся в системе:

Command (m for help): d
Partition number (1-4): 2

Command (m for help): d
Partition number (1-4): 3

Разбиваем Flash-диск на следующие части — Swap (64Мбт), Root File System (128Мбт), Home (оставшееся место на флэш-диске):

Partition number (1-4): 1
First cylinder (1-122, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-122, default 122): +64M
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p

Partition number (1-4): 2
First cylinder (10-122, default 10):
Using default value 10
Last cylinder or +size or +sizeM or +sizeK (10-122, default 122): +128M
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p

Смотрим, что получилось:

Первый раздел у нас должен иметь тип Swap, меняем тип для него:

Применяем и выходим:

Flash-диск готов. Перенесем на него корневую файловую систему:
Для этого подключим его к компьютеру и скопируем содержимое
openwrt/build_dir/target-mipsel_uClibc-0.9.31/root-brcm47xx/ на второй раздел( RootFS) Flash-диск.

Для загрузки с Flash-диск в OpenWrt необходимо изменить файл /etc/config/fstab следующим образом:

Перезагружаемся с подключенным Flash-диском и проверяем результат:

Теперь мы не ограничены размером внутренней Flash на роутере и можем ставить на его любые приложения.

Настроим возможность установки модулей из локального репозитария OpenWrt. Для этого используются команды:

Написал Денис Юрьев в 01.04.2012 29 комментариев

Подготовка флешки или жесткого диска к подключению в DD-WRT

Необходимо создать на носителей разделы. Их количество, типы файловых систем и размеры надо выставлять смотря какие задачи вы хотите реализовать.

DD-WRT в большинстве случаев поддерживает следующие файловые системы.

Типы файловых систем в DD-WRT

ext3 — журналируемая файловая система, родная для linux-based систем. В случае с DD-WRT она нужна в обязательном порядке для установки различных пакетов (программ). Максимальный размер файла зависит от ядра linux вашей прошивки и составляет не менее 2Tb, что вряд ли как то ограничит Вас

fat32 — всё более устаревающая файловая система, родная для Windows. В DD-WRT пригодна лишь для хранения пользовательский файлов, на неё нельзя установить пакеты . Максимальный размер файла составляет около 4гб, что по современным меркам не фантан. Еще бывают проблемы с длинными именами файлов . Пригодна лишь для использования как раздел под хранения небольших файлов, например документов.

В принципе не советую использовать fat32 вообще никому, все рано или поздно от неё отказываются всё-равно.

swap — это даже не файловая система, это раздел подкачки. Если кроме ftp планируете еще что-то устанавливать, то настоятельно рекомендую создать такой раздел размером 32-64мб. Больше врядли кому пригодится.

Другие файловые системы (ntfs, ext2, ext4 и т.д.) без хитрых манипуляций не подмонтировать, не будем на этом заострять внимание. По крайней мере пока .

Разметка флешки/диска

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

Раздел 1 / тип swap / размер 32 мб — раздел подкачки.

Раздел 2 / тип ext3 / размер 1 гб — раздел для установки пакетов (optware).

Раздел 3 / тип ext3 / размер — вся оставшаяся область на диске — раздел для прочих файлов.

Бытует мнение, что использовать swap на флешке нельзя, однако я с этим несколько несогласен.

Дело в том, что работа с разделом подкачки в linux имеет весьма умные алгоритмы. Данные туда начинают попадать только когда действительно не хватает оперативной памяти, и отправляются в своп данные, которые меньше других подвержены изменениям. Так что врядли ваша флешка быстро затрется разделом подкачки. Особенно, если не мучать её связкой Apache+PHP+MySQL

С разметкой в linux проблем у вас не будет. Хотя если будет — спрашивайте, помогу.

В Windows вам поможет Acronis Disk Director

Настройка роутера

1) Включаем поддержку USB

2) На старых прошивках выбираем USB 2.0, на новых этот пункт убрали, но поддержка осталась и включается автоматически.

3) Включаем поддержку USB-дисков (USB Storage Support)

Включение поддержки USB-дисков в DDWRT

Включение поддержки USB-дисков в DD-WRT

Включать автомонтирование не стоит, так как монтируются в этом случае диски без флага noatime, то есть при обращении к файлам и папкам обновляется информация о последнем доступе к ним.

Роутеры итак медленными процессорами обладают, так что для нас это недопустимая роскошь.

Подключение диска

Подключаем флешку/диск и подключаемся к роутеру через телнет. Там нас спросят логин и пароль — те же самые, что и в веб-интерфейсе.

Далее выполняем команду

Строка /dev/scsi/host0/bus0/target0/lun0: p1 p2 p3 говорит нам о том, что наш носитель подключен, причем p1 p2 p3 — разделы на нем.

Если вы сделали разметку такую же, как предложил я, то у вас

p1 — раздел подкачки.

p2 — раздел для установки пакетов (optware).

p3 — раздел для прочих файлов.

Монтирование USB-диска

Сначала монтируем второй раздел, который предназначен для optware. Монтировать будем в уже существующую, но пустую папку /opt (в линуксе нет понятия о локальных дисках, все они так или иначе подключены в качестве каталога).

Примечание: в других статьях нередко монтируют в каталог /jffs, предварительно включая поддержку JFFS2, а уже затем создают каталог /jffs/opt, который монтируют к папке /opt (да, монтировать можно не только диски, но и папки, iso-файлы, ftp-каталоги, smb-диск, черта лысого ). Для себя я так и не понял важность данных извращений, хотя скорее не пытался понять в силу своей природной лени. Без /jffs работает всё отлично, а главное последующий мониторинг смонтированных устройств и папок глаза не режет.

Для этого вводим команду:

Где /dev/discs/disc0 — наша флешка, part2 — второй раздел на ней.

Примечание: тут тоже я отступаюсь от других статей, там монтировали бы командой
mount -o noatime /dev/scsi/host0/bus0/target0/lun0/part2 /opt
уверяю вас, это абсолютно одно и тоже, только в моем случае выглядит короче и понятнее.

И проверяем смонтировалось или нет:

Если вдруг флешка не смонтировалась, то подглядите в следующий раздел в этой статье, там описано почему так происходит и как исправлять

Если смонтировалась, то проверяем третий раздел, монтируя его в также существующую и пустую папку /mnt

Однако если у вас свежая версия прошивки DD-WRT, то может не получиться монтирование раздела диска в /mnt, но выход есть и он банален.

Создаем в папку /tmp/mnt и делаем символьную ссылку /mnt в /tmp:

Теперь смело монтируемся в /mnt:

Если USB-флешка/USB-HDD не монтируется в DD-WRT

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

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

и какие модули подключены:

Ага. Нашей ext3 не видно. Как впрочем и модуля jbd, отвечающего за поддержку журналирования в файловых системах.

Пробуем подгрузить вручную этим модули, причем сначала jbd.o, без него ext3.o не загрузится:

Для прошивки с ядром 2.4:

Для прошивки с ядром 2.6 и выше:

Примечание: если не знаете, какое у вас ядро, то выполните команду uname -r

За выявления различия в прошивках спасибо пользователю bereg с форума DD-WRT

И проверяем знает ли наше ядро теперь ext3:

Вот и всё, теперь можно монтироваться.

Автоматизируем процесс подключения дисков в DD-WRT

Для автоматизации команд надо занести в скрипт включения.

Для этого в веб-интерфейсе перейдите в раздел Administration — Commands

И в верхнее окно введите команды в нужном порядке, только если у вас уже есть стартовый скрипт, то необходимо их объединить.

В моем случае он выглядит так:

Всё, теперь нажимаем Save Startup.

Автоматическое размонтирование дисков в DD-WRT

Размонтирование необходимо для корректного отключения разделов во время перезагрузки, дабы жили дольше.

Для этого добавляем скрипт выключения:

Знак & между командами говорит о том, что они будут выполняться одновременно. Это уменьшит паузу перед перезагрузкой.


Стартовый скрипт и скрипт выключения с командами для корректного монтирования и размонтирования USB флешки/винчестера

Swap-раздел

Разделы мы подключили, всё работает, а вот про раздел подкачки мы.. нет, не забыли.
Подключение раздела подкачки пожалуй заслуживает отдельной статьи. И вы познакомитесь с ней позже 😉

Помогла статья? Поддержи блог - расскажи о нём на своей странице в социальной сети.

Как отформатировать флешку или SD -карту в файловую систему Ext4? Чтобы, к примеру, иметь возможность хранить на внешнем флеш-носителе, подключаемом к Android -устройству, файлы весом более 4 Гб, если такой носитель изначально форматирован в FAT32 . Ext4 – прекрасная альтернатива неподдерживаемой нативно Android’ом файловой системе NTFS и старой, ограниченной FAT32. Ext4 используется в системах Linux, она современная, стабильная, производительная, не подвержена фрагментации данных.

И позволяет хранить файлы с максимальным весом 16 Тб. Отформатировать любой носитель данных в Ext4 легко можно с помощью любого дистрибутива Linux. Загружаемся с диска установки Linux, работаем с установочным носителем как с LiveDisk, запускаем программу GParted. И с её помощью форматируем флеш-носитель в Ext4.

А как форматировать устройства информации в Ext4 в среде Windows?

1. Paragon Hard Disk Manager

Дисковый менеджер Paragon Hard Disk Manager – платный продукт, к нему есть смысл прибегать, если он уже установлен на компьютере. Можно использовать как предыдущую версию программы 15, так и новую 16. Работая с последней, переключаемся на вкладку «Partition Manager», кликаем оперируемый носитель, в нашем случае это виртуальный жёсткий диск.

Paragon Hard Disk Manager

Появится дополнительное окно с возможными опциями. Выбираем «Форматировать том».

Форматировать том

Далее указываем «Linux Ext4» в графе выбора файловой системы. Ставим подтверждающую галочку внизу, мол, мы понимаем, что операция ведёт к потере данных на носителе. И жмём «Форматировать».

Linux Ext4

Применяем операцию кнопкой «Apply».

Apply

2. MiniTool Partition Wizard

Программа MiniTool Partition Wizard также умеет форматировать носители информации в Ext4, причём это возможность из числа предусмотренных в бесплатной редакции Free .

Запускаем программу, кликаем нужный носитель, вызываем контекстное меню, жмём «Format».

MiniTool Partition Wizard

В графе «File System» указываем Ext4. Жмём «Ок».

File System - Ext4

Применяем операцию кнопкой «Apply».

Format

3. Отображение накопителя с Ext4 в среде Windows

Далее просто устанавливаем драйвер. В процессе установки нам будет предложена автоматическая настройка файловых систем Linux для отображения в среде Windows. Нужно просто не трогать галочки на этапе «Select Additional Tasks».

Ext2Fsd

После установки Ext2Fsd носители с Ext4 будут видны в проводнике Windows.

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

Подготовка

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

Установите необходимые пакеты для USB хранилища, как показано ниже). Подключенное устройство USB (например, жёсткий диск) может быть распознано системой; Если ещё не сделано, сделайте разметку диска и создайте файловую систему (изучите инструкцию Storage чтобы сделать это с помощью OpenWrt). Само устройство и его разделы должны немедленно появиться в Файле устройства в папке /dev/ . Например, /dev/sda это устройство, с разделами /dev/sda1 , /dev/sda2 и т.д. В случае, когда устройство не размечено и использует единую файловую систему, оно может быть доступно как /dev/sda . Последующие устройства, которые вы подключите, будут называться /dev/sdb , /dev/sdc и так далее. Убедитесь, что установлены правильные пакеты ядра для поддержки конкретной файловой системы (смотрите Storage); После эти файловые системы могут быть подключены и к ним появится доступ, смотрите 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.

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

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

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

Теперь процессы, которые не запущены с правами root, не будут записывать в память устройства (изучите эту тему). И, конечно, вы можете использовать этот файл в своих собственных скриптах.

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

Создайте необходимые файлы настроек: Большая часть пакетов kmod-crypto-* создают файлы в папке /etc/modules.d чтобы автоматически включать модули при загрузке. Но пакет kmod-crypto-misc содержит модуль sha256 (помимо прочих) который является исключением, следовательно мы должны вручную создать такой файл: Подключаем зашифрованый раздел: Замените /dev/encrypted_partition путём к вашему зашифрованому разделу и /mnt/mountpoit желаемой точкой монтирования:
  • Last modified: 2019/08/26 12:39
  • by vgaetera

Self-registration in the wiki has been disabled.
If you want to contribute to the OpenWrt wiki, please post HERE in the forum or ask on IRC for access.

Except where otherwise noted, content on this wiki is licensed under the following license:
CC Attribution-Share Alike 4.0 International

Читайте также: