Как собрать "чистую" прошивку на базе OpenWRT 19 ветки для роутеров семейства R0, R2, R4
Для сборки чистой прошивки вам потребуются базовые знания ОС Линукс, и компьютер с ним на борту, подключенный к сети Интернет.
1. Поскольку роутеры базируются на платформе OpenWRT, то сперва необходимо ознакомиться c рекомендациями по работе с OpenWRT:
Справочная информация:
https://oldwiki.archive.openwrt.org/ru/doc/start
Порядок работы со средой сборки (build environment):
https://wiki.openwrt.org/doc/devel/env
Также необходимо наличие, установленной на компьютер, системы управления версиями - Git.
Прочитать о Git можно по следующей ссылке:
https://git-scm.com/book/ru/v1/Введение-Установка-Git
Собранная прошивка будет «чистой», без нашего веб-интерфейса и некоторых пакетов, написанных нашими программистами.
Настройку роутера необходимо будет осуществлять самостоятельно - ручной правкой конфигурационных файлов, либо установив штатный графический интерфейс OpenWRT - Luci.
Перед началом работы проверьте установлены ли на компьютере следующие пакеты:
build-essential
libncurses5-dev
libncursesw5-dev
zlib1g-dev
libssl-dev
subversion
2. Исходный код прошивок к роутерам серии Rx находятся тут:
https://bitbucket.org/radiofid/profile/repositories
openwrt-19.07 - репозиторий с текущей версией, устанавливающейся на роутер. (Версия OpenWRT может отличаться от указанной в примере, по мере миграции на новые);
openwrt-envs-19.07 - репозиторий с конфигами openwrt для сборки прошивок к роутерам серии R0/R2/R4.
При сборке openwrt, собирается toolchain и все необходимые библиотеки.
Наши внутренние репозитории, при сборке не используются.
Роутеры серии R4 используют архитектуру процессора kirkwood.
Роутеры серии R0,R2 используют архитектуру ramips.
3. Сборка Toolchain.
Пример команд для сборки (все примеры приведены для роутеров серии R2):
git clone https://bitbucket.org/radiofid/openwrt-19.07.git
cd openwrt-19.07
git clone https://bitbucket.org/radiofid/openwrt-envs-19.07.git env
Добавляем в файл feeds.conf.default необходимые ссылки для пакетов luci.
Пример файла feeds.conf можно найти по ссылке:
https://github.com/openwrt/openwrt
Далее выбираем серию роутера R2(mt02), R0(mt00) или R4(kw04):
./scripts/env switch mt02
Обновляем зависимости:
./scripts/feeds update -a
Устанавливаем зависимости:
./scripts/feeds install -a
Повторно выбираем платформу роутера:
./scripts/env switch mt02
Компилируем toolchain и образ следующими командами:
make menuconfig — в псевдографическом меню выбрать нужные пакеты для использования на роутере;
make -j1 V=s (сборка будет осуществляться в один поток, с выводом лога и возникших ошибок).
После завершения:
Компилятор/линкер и прочее лежат в директории /openwrt-19.07/staging_dir/toolchain-XXXX/
Файл прошивки, с расширением tar, находится:
для роутеров серии R4 в каталоге /openwrt-19.07/bin/kirkwood
для роутеров серии R0/R2 в каталоге /openwrt-19.07/bin/ramips
Не допускайте отключения питания в процессе прошивки!
Далее устанавливаете прошивку через веб-интерфейс Tools-→Management-→Update Firmware
Рекомендуем, после перепрошивки сделать сброс на заводские настройки.
Если устанавливали интерфейс Luci, то браузер, при первом входе на ip адрес роутера (192.168.1.1) предупредит, что не доверяет сертификату https страницы, подписанному openwrt - добавьте его в исключения браузера.
Для возврата на прошивку iRZ, скачайте последнюю версию с сайта http://www.radiofid.ru/
Установите ее через веб-интерфейс и после перепрошивки сделайте сброс настроек на заводские:
Tools --> Reboot --> Perform factory reset
Сервис поддержки клиентов работает на платформе UserEcho