Как подключить флешку к TP-Link TL-MR3020
После перепрошивки TL-MR3020 на OpenWrt сталкиваешься с первой проблемой – нехватка памяти. У MR3020 всего 4МБ памяти, а нам доступно меньше мегабайта. Есть решение – подключить флешку и перенести все файлы на нее, чтобы роутер загружался с флешки. Это позволит ставить дополнительные пакеты и хранить много разнообразных данных.
Я взял флешку объемом 2ГБ, для роутера ее хватит с запасом. У MR3020 всего один порт USB, я планирую подключить несколько устройств USB, поэтому буду использовать USB-хаб на 8 портов с отдельным блоком питания, а роутер запитаю прямо через этот хаб.
Переносить файлы на флешку надо сразу после перепрощивки роутера на OpenWrt, т.к. места хватит только на установку необходимых пакетов для подключения флешки. Для установки пакетов понадобится выход в интернет. Приступим…
1. Установка необходимых пакетов
opkg update opkg install kmod-usb-storage opkg install kmod-fs-ext4 opkg install block-mount opkg install fdisk
2. Подготовка флешки
На этом этапе будем создавать на флешке два раздела (основной и swap) и форматировать их. Из-за нехватки места на роутере не получится установить пакет e2fsprogs для форматирования разделов, поэтому эту часть придется делать на любом другом компе с linux.
Если под рукой нет полноценого компа с линуксом, то можно развернуть ubuntu на виртуальной маишне (рассказывать про это не буду, т.к. в интеренете полно инструкций).
Втыкаем флешку в ПК с линуксом и определяем, какое она определилась:
ls /dev
В роутере обычно это будет /dev/sda1, но в ПК может быть /dev/sdb1 или /dev/sdc1 и т.д. (возьмем на основу – /dev/sda1). Далее запускаем fdisk, удаляем существующие разделы, создаем новые. UPDATE На скриншоте ошибка, надо вместо fdisk /dev/sda1 запускать fidsk /dev/sda. И в результате должно получиться /dev/sda1 и /dev/sda2, а не как на скриншоте /dev/sda1p1 и /dev/sda1p2.
В конце вводим команду w для сохранения изменений и выходим из fdisk командой q.
Форматируем разделы:
sudo mkfs.ext4 -L over /dev/sda1 sudo mkswap -f -L swap /dev/sda2
ключ -L – задаем метку, over для основного раздела и swap для второго.
3. Подключаем флешку
Правим файл конфигурации /etc/config/fstab, чтобы система грузилась с флешки. Правим, как показано на скриншоте и сохраняем файл.
Переносим системные файлы на флешку. Для этого проверяем, что флешка смонтировалась (/dev/sda1) и запускаем копирование:
tar -C /overlay -cvf - . | tar -C /mnt/sda1 -xvf -
Перезагружаем роутер:
reboot
4. Ставим веб-сервер LightHTTPD вместо uHTTPd
Устанавливаем необходимые пакеты:
opkg update opkg install lighttpd lighttpd-mod-cgi luci-mod-admin-full luci-theme-openwrt libiwinfo libiwinfo-lua
Вносим изменения в файл конфигурации веб-сервера /etc/lighttpd/lighttpd.conf. Раскомментируем следующие строки:
server.modules = ( "mod_cgi", )
Изменим каталог по умолчанию с www на /www/home:
server.document-root = "/www/home"
Изменим порт веб-интерфейса с 80 на 8080:
$SERVER["socket"] == ":8080" { server.document-root = "/www/" cgi.assign = ( "luci" => "/usr/bin/lua" ) }
Сохраняем изменения в файле /etc/lighttpd/lighttpd.conf.
Создаем каталог /www/home и тестовый файлв в нем:
mkdir /www/home echo "It works!" >> /www/home/index.html
Останавливаем и отключаем веб-сервер uHTTPd и запускаем LightHTTPD:
/etc/init.d/uhttpd stop /etc/init.d/uhttpd disable /etc/init.d/lighttpd start /etc/init.d/lighttpd enable
Проверяем. Админка теперь на порту 8080, как и должно быть.
А на 80 порту наша заглушка.
Нашли опечатку в тексте? Пожалуйста, выделите ее и нажмите Ctrl+Enter! Спасибо!
Хотите поблагодарить автора за эту заметку? Вы можете это сделать!
Здравствуйте, почему-то не ставиться fdisk (пробою в 14.07 ), нету comgt для модема. Короче что-то не могу осилить.
Дмитрий
28 Ноя 2014 в 14:51
Добрый день!
Просьба автора помочь:
в Linux не силен, по-этому использую web-интерфейс роутера. Не получается установить все 4 пакета из первого пункта, т.к. не хватает памяти. После установки kmod-usb-storage, kmod-fs-ext4 и block-mount остается 68 KB и fdisk уже не ставится. Какие из пакетов стандартной сборки openWRT Barrier Breaker 14.07 (r42625) можно удалить без особого вреда?
Алекей
11 Янв 2015 в 17:30
Про OpenWRT Barrier Breaker 14.07 написал новую заметку — Установка OpenWrt 14.07 на TP-LINK MR3020 и подключение флешки
did5
20 Янв 2015 в 10:20