Расширение памяти на Xiaomi Mi Router 3G при помощи USB флешки (OpenWrt)

При установке "больших" пакетов на роутер можно столкнуться с проблемой нехватки свободного места. Справиться с этой проблемой можно путем переноса файловой системы на внешний USB накопитель.

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

opkg update
opkg install block-mount kmod-usb-storage kmod-fs-ext4 nano

2. Подготавливаем USB флешку:

Для создания необходимых разделов я воспользовался программой GParted:

3. Настройка монтирования разделов:

Выполняем в терминале:

rm /etc/config/fstab
block detect >> /etc/config/fstab
nano /etc/config/fstab

В открывшемся файле для всех двух разделов устанавливаем option enabled равным единице, а в качестве значения option target для ext4 указываем "/overlay". Должно получиться что-то вроде этого (uuid у вас будут другие):

config 'global'
        option  anon_swap       '0'
        option  anon_mount      '0'
        option  auto_swap       '1'
        option  auto_mount      '1'
        option  delay_root      '5'
        option  check_fs        '0'

config 'swap'
        option  uuid    'be955d6a-a90f-437d-8e89-6328020129a3'
        option  enabled '1'

config 'mount'
        option  target  '/overlay'
        option  uuid    '6246cf8b-6259-4792-ab6a-f23c7758a52a'
        option  enabled '1'

Сохраняем изменения и закрываем редактор.

4. Переносим файловую систему роутера на флешку:

mkdir /mnt/sda2
mount /dev/sda2 /mnt/sda2
tar -C /overlay -cf - . | tar -C /mnt/sda2 -xf -
umount /mnt/sda2
rm -rf /mnt/sda2

И перезагружаемся:

reboot

5. Проверяем результат

Открываем WEB интерфейс, переходим в раздел System -> Software и радуемся объему свободного места!

Так же результат можно проверить и через консоль:

df -h
free


Если роутер отказывается загружаться, то отключаем от него флешку и перезагружаемся по питанию. Система загрузится с внутренней памяти и можно будет проверить, где допущена ошибка (скорее всего вы ошиблись при правке файла /etc/config/fstab).

Обсуждение

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *