Работа с USB
В версиях роутеров Крокс с USB-разъёмами существует возможность работать с внешними USB-накопителями. Можно как копировать файлы на роутер и обратно, так и использовать роутера как полноценный NAS.
Подготовка
Информация
Все манипуляции с USB-носителем мы будем производить с помощью роутера и его операционной системы openwrt. Если вы можете самостоятельно разметить накопитель и отформатировать его под ext4, можете пропустить этот шаг.
Для того чтобы операционная система роутера могла работать с флеш-накопителем, на нём необходимо создать разделы и отформатировать их. В примерах мы будем использовать формат ext4. Для этого нам понадобится установить на роутер два пакета: gdisk и e2fsprogs. Первый позволит нам разметить диск на разделы, второй же поможет отформатировать диск в нужную нам файловую сиситему.
Информация
Все дальнейшие манипуляции с USB-носителем мы будем производить в терминале через стандартное ssh соединение.
Внимание
Перед началом работы необходимо вставить флеш-накопитель в USB-порт роутера.
Установка пакетов
Сперва установим пакеты. Вы можете это сделать как через терминал, так и через веб-интерфейс. Для примера в инструкции будет использован терминал.
Сперва нам необходимо обновить списки пакетов, доступных для установки. Делается это командой
opkg updateДалее устанавливаем пакеты gdisk и e2fsprogs.
opkg install gdisk e2fsprogsДля работы с USB-накопителями нам понадобится пакет block-mount.
opkg install block-mountОпределение имени диска
Для того чтобы увидеть все подключенные диски и разделы мы воспользуемся командой
ls /dev/sd*В результате мы увидим диск с названием sda. Это название диска, которое будет использоваться в дальнейшем. sda1 - первый раздел диска, sda2 - второй и т.д.
Разметка диска
Как уже упоминалось ранее, разметка диска будет происходить с помощью пакета gdisk. Для этого воспользуемся командой
gdisk /dev/sdaЗапустится интерактивный режим разметки диска. Для того чтобы увидеть все доступные варианты, введите h. Нам же нужно удалить таблицу разделов и создать один новый. Для этого сначала введём d, это удалит все разделы, а после создадим новый раздел введя n. Все настройки оставим по умолчанию, для этого просто нажмите Enter при каждом новом запросе. Осталось лишь записать изменения, для этого введите w, и подтвердите буквой y. В случае успеха вы увидите строчку The operation has completed successfully. Это означает что всё прошло удачно и на нашем диске появился новый раздел.
Форматирование диска
Для форматирования диска мы будем использовать пакет e2fsprogs. Для этого воспользуемся командой
mkfs.ext4 /dev/sda1Не забудьте подтвердить клавишей y. Все параметры оставьте по умолчанию. В случае успеха вы увидите строчку Writing superblocks and filesystem accounting information: done. Это означает что диск был успешно отформатирован.
Монтирование раздела для работы с USB-носителем
Для того чтобы работать с USB-носителем мы должны его монтировать. Для этого воспользуемся веб-интерфейсом.
Перейдите в пункт меню Система, затем выберите подменю Монтирование разделов.
Информация
Если подменю Монтирование разделов у вас отсутствует, а пакет block-mount точно установлен, попробуйте перезагрузить роутер. После перезагрузки вкладка должна появиться в интерфейсе.
Во вкладке Монтирование разделов нажмите на кнопку ДОБАВИТЬ.

- В открывшемся окне, в пункте UUID, из выпадающего списка, выберите ваше подключенное USB устройство.
- В пункте Точка монтирования необходимо указать расположение папки в которую будет монтироваться устройство. В нашем случае это
/mnt/usb. Вы можете указать свое расположение которое будет начинаться с/mnt/.... - Нажмите кнопку СОХРАНИТЬ.

- Затем во вновь открывшемся окне, необходимо нажать кнопку ПРИМЕНИТЬ.

Размонтирование раздела
- Перед извлечением накопителя крайне рекомендуется во избежание случайного повреждения, размонтировать диск. Для этого необходимо нажать кнопку ОТМОНТИРОВАТЬ.

После этого мы можем извлечь накопитель.
Продвинутое использование USB-носителей
При помощи USB-накопителя мы можем расширить возможности роутера а так же использовать его в качестве NAS-хранилища.
Для этого создадим на флешке 3 раздела:
- Раздел подкачки (swap) - 128МБ - если роутеру не будет хватать размера опреативной памяти, то он будет использовать этот раздел как дополнительную ОЗУ
- Раздел overlay - 512МБ - здесь будут храниться дополнительные установленные пакеты
- Раздел данных - всё оставшееся место - будет использоваться для хранения файлов, которые будут доступны для всех клиентов домашней сети
Разметка диска
Открываем дисковую утилиту. Для этого воспользуемся командой
gdisk /dev/sdaВ первую очередь необходимо удалить все предыдущие разделы. сделаем это командой d. После этого создаём новые разделы.
Создаём первый раздел - swap. Для этого введём n. Откроется интерактивный интерфейс создания раздела. Partition number и First sector оставляем без изменений. Last sector вводим следующий: 128 * 1024 * 1024 / 512 + 64 = 262208. Параметр Hex code or GUID отвечает за вид раздела, и только для раздела swap нам необходимо ввести 8200. Остальное так же оставляем без изменений.
Информация
Как рассчитать размер сектора? Очень просто, достаточно лишь знать, что один сектор равен 512 байтам. Далее лишь математика - переводим инетрисующие нас величины в байты и делим на размер одного сектора. Также не забываем прибавить номер первого сектора. В нашем сллучае мы перевили Мегабайты в Байты (128 * 1024 * 1024), разделили на размер одного сектора (/ 512) и прибавили номер первого сектора (+ 64).
По аналогии создаём остальные разделы. В конце с помощью команды p вы увидите все созданные разделы.

Не забудьте записать изменения на диск введя w и подтвердив y.
Форматирование разделов
Для форматирования разделов мы будем использовать пакет e2fsprogs. Для этого воспользуемся командой
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3Внимание
Раздел swap форматировать не нужно.
Настройка системы
После установки пакета block-mount в интерфейсе можно найти вкладку Система - Монтирование разделов. Здесь мы будем работать с USB-носителем.
Информация
Если данная вкладка у вас отсутствует, а пакет точно установлен, попробуйте перезагрузить роутер. После перезагрузки вкладка должна появиться в интерфейсе.

В первую очередь необходимо создать конфигурацию. Делается это кнопокой Создать Config. После настроим разделы swap и overlay. Делается это очень просто.
Для создания внешнего overlay необходимо в карточке Монтирование разделов найти второй сектор (на 512 МБ) и нажать кнопку Изменить напротив него. В открышемся окне введите:
- Включен - отметьте галочкой
- Точки монтирования - выберите Использовать как внешний overlay
Нажмите Сохранить.
Не забудем настроить основное хранилище. В карточке Монтирование разделов найти третий сектор на 57ГБ и нажать кнопку Изменить напротив него. В открышемся окне введите:
- Включен - отметьте галочкой
- Точки монтирования - Выберите пользовательский и введите /media
Нажмите Сохранить. Примените настройки.
Снова возвращаемся в терминал. Для корректной работы роутера после перезагрузки с новым overlay необходимо перенести старые данные на новый overlay. Делается это командой
mount -o rw,sync,iocharset=utf8 /dev/sda2 /mnt
cp -a -f /overlay/. /mnt
umount /mntОсталось лишь настроить swap. Делается это командой
mkswap /dev/sda1
swapon /dev/sda1Чтобы проверить что swap настроен, введите команду
swapon -sОсталось только перезагрузить роутер. После перезагрузки мы увидим что раздел overlay уыеличен до 500МБ, а опреативная память до 128МБ.