Как собрать свой OpenWRT и не сойти с ума от настройки окружения

04 May, 2026

Вы когда-нибудь пробовали собрать OpenWRT из исходников на домашнем компьютере? Если да, то наверняка помните этот квест: скачай пару десятков гигабайт зависимостей, настрой специфическую версию Ubuntu, выдели 50 ГБ свободного места и молись, чтобы через три часа компиляция не вылетела с непонятной ошибкой из-за конфликта библиотек.

Для тех, кто хочет получить свежую прошивку с нужными пакетами, но не желает превращать свой рабочий ноутбук в обогреватель, существует проект OpenWRT-CI. Это готовый конвейер для облачной сборки, который делает всю грязную работу за вас на мощностях GitHub Actions.

Зачем это нужно, если есть готовые образы

Обычно мы скачиваем прошивку с официального сайта, а потом доставляем нужные пакеты через opkg. Но у этого подхода есть пара жирных минусов. Во-первых, место в разделе /rom жестко ограничено, и часто бывает так, что нужный софт просто не влезает. Во-вторых, некоторые глубокие настройки ядра или драйверов нельзя поменять «на лету» после установки.

Проект VIKINGYFY решает эти проблемы, предлагая автоматизировать сборку под конкретное железо. Автор сфокусировался на популярных китайских роутерах и специфических сборках вроде ImmortalWRT. Это форк OpenWRT, который очень любят за лучшую поддержку современного железа и свежие драйверы для чипов MediaTek и Qualcomm.

Что внутри этого репозитория

В отличие от огромных монолитов, здесь структура максимально прозрачная. Репозиторий по сути является «пультом управления» для GitHub Actions.

  • Папка workflows: здесь лежат инструкции для облачного сервера. Автор настроил автоматизацию так, что свежие билды собираются каждое утро в 6:00. Это удобно, если вы следите за апстримом и хотите иметь самые последние патчи безопасности.
  • Папка Config: тут хранятся файлы .config. Это те самые слепки настроек, которые вы обычно выбираете в make menuconfig. Можно подсмотреть чужие конфиги или подложить свой.
  • Папка Scripts: скрипты для кастомизации. Например, если нужно добавить кастомный репозиторий пакетов или изменить тему оформления интерфейса Luci еще до этапа компиляции.

Интересная деталь: автор включил поддержку не только стандартных роутеров, но и x86-систем, Rockchip и NanoPi. То есть с помощью этого CI можно собрать систему как для копеечного роутера, так и для мощного самосборного сервера на базе обычного ПК.

Stargazers over time

Сборка для специфического железа

Одна из главных болей владельцев роутеров на чипах MediaTek или Qualcomm — поиск правильного загрузчика (U-BOOT). В README проекта есть целый список ссылок на проверенные сорсы загрузчиков. Это критично, если вы решили «окирпичить» устройство чем-то более продвинутым, чем стоковая прошивка.

Проект поддерживает несколько веток:

  1. Официальный ImmortalWRT.
  2. Собственная модификация автора с его личными правками.
  3. Различные версии U-BOOT для IPQ60xx (Qualcomm) и MediaTek.

Как этим пользоваться на практике

Самый простой путь — сделать Fork репозитория. После этого в разделе Actions вашего форка появятся готовые сценарии сборки. Вам достаточно поправить файл конфигурации под свою модель роутера, и GitHub сам соберет .bin файл, который останется только скачать из раздела Releases.

Если вы используете специфическое железо, вроде плат на Rockchip, этот проект сэкономит вам часы на поиск правильных скриптов инициализации. Все уже проверено и разложено по папкам.

Стоит ли пробовать

Этот проект точно не для новичков, которые впервые видят интерфейс OpenWRT. Но если вы уже наигрались с официальными образами и хотите собрать «свой идеал» с предустановленным Docker, расширенной поддержкой файловых систем или специфическими драйверами — OpenWRT-CI станет отличным фундаментом.

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

Единственный нюанс: README местами лаконичен и содержит ссылки на внешние ресурсы (вроде Google Drive для некоторых версий U-BOOT), так что иногда придется переключаться на переводчик с китайского или изучать код скриптов. Но для тех, кто привык копаться в прошивках, это вряд ли станет серьезным препятствием.

Особенно рекомендую заглянуть в папку Scripts — там можно найти интересные идеи по автоматизации настройки сетевых интерфейсов, которые пригодятся даже вне контекста этого CI-репозитория.