Владимир (vladikoms) wrote,
Владимир
vladikoms

Category:

Собираем прошивку OpenWrt для маршрутизатора TP-LINK TL-MR3220 ver.2.X

Появилась необходимость собрать некую роботизированную установку с возможностью удаленного управления. Пока "железо" ко мне еще не приехало, решил заранее подготовиться и собрать прошивку из исходников OpenWrt. В Интернетах возникает множество вопросов связанных с прошивками OpenWrt для крайних версий маршрутизатора TP-Link MR-3220. В данный момент крайняя версия 2.2. На базе него я и планирую собирать мега-девайс, поэтому решил написать подробную инструкцию.

00

Зачем нужно самому собирать прошивку, а не скачивать уже готовую с сайта OpenWrt? Причин тому может быть несколько: во-первых там может не оказаться свежих прошивок для нужной модели девайса, либо они будут глючными, либо и то и другое. Во-вторых есть возможность собрать прошивку только с теми программами и настройками, которые нужны именно Вам, это освобождает от нудной процедуры установки и настройки дополнительных пакетов в случае установки стандартной прошивки (особенно это актуально при потоковом производстве) , к тому же память у маршрутизаторов весьма ограничена и установить все существующие программы физически не получиться.

У меня на рабочей машине установлена ОС Linux Mint 16 Petra. В ней и будем мутить свои темные делишки. Задача стоит следующая - собрать прошивку с необходимым минимумом установленных пакетов.

Освобождение от ответственности:

1. То что здесь делается, делается на свой страх и риск. За все ваши действия и/или бездействие я ответственности не несу.

2. В процессе прошивки есть не нулевая вероятность "окирпичивания" девайса, т.е. потери его функциональных свойств. Это не особо страшно, ибо лечится, но придётся осваивать танцы с бубном.

3. Разумеется, чел который будет повторять действия должен быть адекватен и понимать что он делает и для чего это ему нужно. Для всех остальных в конце статьи размещена ссылка с собранной прошивкой.


Начинаем красноглазить:

1. Открываем Terminal и скачиваем исходники OpenWrt из ветви Trunk. Почему из Trunk-а? потому что там реализована поддержка крайних версий MR-3220, в процессе компиляции будут автоматически созданы прошивки для всех версий.

svn co svn://svn.openwrt.org/openwrt/trunk/ openwrt

2. Переходим в директорию openwrt

cd openwrt

3. Обновляем описание пакетов:

./scripts/feeds update -a

4. Создаём симлинки:

./scripts/feeds install -a

5. Проверяем наличие необходимых для сборки пакетов в нашей ОС:

make prereq

6. У меня не хватало следующих: subversion, GNU C++ compiler, ncurses, zlib, git. Устанавливаем их:

sudo apt-get install subversion, g++, git-core, libncurses5-dev, zlib1g-dev

7. Входим в конфигурационное меню

make menuconfig

00

8. В разделе Target System выбираем тип архитектуры AR7XXX/AR9XXX (должна быть выбрана по умолчанию)

01

9. В разделе Target Profile выбираем тип маршрутизатора TP-LINK TL-MR3220

02

03

10. Возвращаемся в главное меню

04

11. В разделе модулей ядра Kernel modules/Video Support подключаем поддержку UVC (USB video class), для этого выбираем kmod-video-core и kmod-video-uvc. Эта фича необходима чтобы подружить маршрутизатор с uvc - веб камерой. Моему проекту это жизненно необходимо, кому это не нужно - пропускаем данный пункт.

05

06

07

12. В разделе Multimedia выбираем пункт mjpeg-streamer. Эта программа захватывает картинку с веб камеры и транслирует поток по протоколу HTTP. Моему проекту это жизненно необходимо, кому это не нужно - пропускаем данный пункт.

08

09

13. Устанавливаем веб-сервер uhttpd. Для этого в разделе Network / Web servers/Proxies выбираем пункт uhttpd. Моему проекту веб-сервер жизненно необходим, кому это не нужно - пропускаем данный пункт.

11

12

13

14. На этом конфигурирование можно закончить. Если есть необходимость добавления еще каких-нибудь пакетов в прошивку, то самое время это сделать. Но надо учитывать что памяти на борту крайне мало, поэтому сильно не разгуляешься. Далее выходим из меню с сохранением конфигурационного файла.

10

15. Теперь приступаем к сборке прошивки выполняя команду: make или make V=99 . Во втором случае в процессе компиляции идёт подробный вывод информации, рекомендую, если возникнет ошибка сразу будет видно на чем споткнулись. Первый раз процесс компиляции идёт довольно долго: на Athlon X2 5600 c 2 GB RAM это заняло 2 часа 20 минут. При последующих компиляциях (если в этом будет необходимость) процесс идёт значительно быстрее - не более 10 минут.

После успешной сборки файлы прошивок помещаются в директорию bin/ar71xx/ . Небольшое пояснение по файлам прошивок:

Прошивки, содержащие в названии "squashfs-factory" предназначены для замены родной прошивки маршрутизатора через родной WEB-интерфейс управления TP-Link, либо для замены ранее установленной прошивки OpenWrt.

openwrt-ar71xx-generic-tl-mr3220-v1-squashfs-factory.bin - прошивка для TP-LINK MR3220 версии V.1

openwrt-ar71xx-generic-tl-mr3220-v2-squashfs-factory.bin - прошивка для TP-LINK MR3220 версии V.2.X

Прошивки, содержащие в названии "sysupgrade" предназначены для обновления прошивки маршрутизатора, в случае если на него ранее уже была установлена прошивка OpenWrt.

Остаётся выбрать нужный файл и прошить маршрутизатор. Готовую прошивку, сделанную по этой инструкции, для TP-LINK MR3220 V.2.X можно скачать здесь.
Tags: linux, openwrt
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 0 comments