Существуют роутеры, у которых стоит eMMC в качестве постоянной памяти и они имеют много места. Здесь описан самый простой способ использования этого места как “внешнего” хранилища.

Например, для роутера RAX3000M в проекте OpenWrt, под систему в GPT-таблице выделено 500MB, а остальное остаётся свободным пространством под ваши нужды. Предполагается, что файлы, созданные в отдельных разделах, не будут удалены после firstboot или sysupgrade. А под пакеты с файловой системой squashfs предостаточно 500MB места.

Если вдруг вы хотите изменить таблицу разделов, таким образом увеличив место под / вам нужно собрать файл с GPT самостоятельно и прошить его.

Все операции проводятся на RAX3000M. В прошивке для него это задумано, если вы используете, например, NanoPi и вам нужно расширить / на всю флешку, воспользуйтесь документацией.

Подготовка

Установка пакетов

opkg update
opkg install block-mount kmod-fs-ext4 e2fsprogs lsblk cfdisk

Иногда после установки пакета пункт меню Mount Points (Точки монтирования) не сразу появляется в LuCI. Если вы столкнулись с этим:

  1. Сбросьте кэш в браузере для LuCI.
  2. Если не помогло, выйдите из LuCI и войдите снова (Logout/Login).
  3. Не помогло? Закройте все вкладки с LuCI и откройте в режиме инкогнито.
  4. Если ничего не помогает, перезагрузите роутер командой reboot.

Создание раздела

Для создания раздела используем утилиту cfdisk.

cfdisk /dev/mmcblk0

Выберите с помощью стрелок свободное место, у меня это Free 57.1G, затем внизу выберите New и нажмите Enter. Далее выберите Write, введите yes и нажмите Enter.

Выйдите, выбрав Quit или нажав клавишу q.

Проверяем, что раздел создался

lsblk

Должно содержать такую запись:

├─mmcblk0p6   179:6    0  57.1G  0 part 

Форматируем под файловую систему ext4

mkfs.ext4 /dev/mmcblk0p6

Монтирование раздела в OpenWrt

Проще и надежнее всего настроить автоматическое монтирование через LuCI.

Перейдите в System (Система) -> Mount Points (Точки монтирования).

Внизу страницы Mount Points (Точки монтирования), нажмите кнопку Add (Добавить)

В открывшемся окне для UUID выбираете созданный раздел.

В Mount point в поле custom пишите директорию, в которую будет смонтирован этот раздел. Используйте /mnt и имя на ваш выбор. К примеру /mnt/media.

После ввода пути нажмите Enter (может не работать в мобильных браузерах). Проверяйте, сохраняете и вас вернёт к предыдущему меню, там нажмите Save && Apply.

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

Что будет после Firstboot и Sysupgrade?

В случае сброса настроек или обновления прошивки данные на вашем разделе (/mnt/*) останутся в целости. Однако конфигурация монтирования будет удалена. Вам нужно будет просто повторить шаги из раздела “Монтирование раздела в OpenWrt”, чтобы система снова начала его использовать. При этом точка монтирования уже будет создана в LuCI.

Но не полагайтесь на это на 100%, всегда делайте бэкапы.


Мой TG-канал: https://t.me/itdoginfo