Skip to content
This repository has been archived by the owner on Aug 1, 2024. It is now read-only.
Zeleza edited this page Jan 1, 2023 · 12 revisions

КОТОМКА - быстрая сборка пакетов в Entware

Языками разработки являются языки семейства Bash, а так же Си, С++

Данный пакет служит прежде всего для тех разработчиков, которые хотят быстро осуществить сборку своего пакета для роутеров с поддержкой Entware и opkg на таких языках программирования, как Си, С++ и на семействе языков Bash.

Установка данного пакета на хост-машину позволит быстро собрать Вам необходимый docker-образ со средой разработки под Entware с программой-примером, которая, при ее запуске, выведет в консоль роутера "Здравствуй Мир!". После чего Вы уже самостоятельно сможете под свои нужды модифицировать данный пример и расширять его, по мере необходимости, используя свою IDE и запуская сборку внутри запущенного контейнера с автоматическим удалением старого пакета и установкой новой версии пакета на удаленное устройство.

Поддерживаемые архитектуры Entware:

  1. aarch64-3.10
  2. mips-3.4, mipsel-3.4
  3. armv5-3.2
  4. armv7-2.6, armv7-3.2
  5. X64-3.2, X86-2.6

Возможности

  1. Быстрое развертывание среды разработки Entware - от 30 минут (для полной сборки образа).
  2. Последовательная мульти-архитектурная сборка под все выбранные платформы.
  3. Сборка и копирование собранного пакета на устройство для тестирования осуществляется автоматически.
  4. Нет необходимости в глубоком понимании работы Docker-а, так как все происходит автоматически.
  5. Возможность писать тесты для приложения и исполнять их на удаленном устройстве сразу после установки пакета.
  6. Моментальное подключение и вход в собранный Docker-контейнер, как с правами root, так и как с правами разработчика.

Известные ограничения

  1. Работает только на MAC OS X или Linux
  2. Обязательное знание основ разработки под Entware.
  3. Обязательное знание основ работы с Docker-контейнерами

Основные принципы сборки

  1. Сборка Docker-образа среды сборки пакета должна осуществляется на многоядерном компьютере с предустановленной MAC OS X или Linux ОС.
  2. ВАЖНО! Сборка пакета осуществляется под пользователем отличным от root. В нашем случае это master.
  3. Все настройки в проекте осуществляются в файле конфигурации сборки ./build.conf.
  4. Файлы разрабатываемого Вами проекта будут находиться в папке ./code (по умолчанию).
  5. Исходники с кодом, после первичной сборки проекта, будут располагаться в папке ./code/src.
  6. Запуск сборки проекта для всех архитектур, указанных в ./build.conf, осуществляется при помощи команды ./build.run make all
  7. Удаленное тестирование , в случае необходимости, осуществляется на устройстве, при уже собранном и установленном пакете на удаленном роутере.
  8. Работа с исходниками проекта и внесение в них своих правок осуществляется на компьютере (в привычной Вам IDE), но сама сборка пакета осуществляется в Docker-контейнере на основе собранного Docker-образа.
  9. Тесты основаны на пакете bats и предназначены, прежде всего, для проверки запуска приложения с аргументами на роутере, для любого языка разработки.
Полная команда Короткая
команда
Краткое описание
init -in возвращение к первоначальному состоянию
build -bl собираем docker-образ
rebuild -rb пересобираем docker-образ
make <arch> -mk сборка разрабатываемого пакета
make ver <N> -mk сборка разрабатываемого пакета
copy -cp копирование пакета на роутер
term <arch> -tr подключение к контейнеру под $USER
root <arch> -rt подключение к контейнеру под root
<cmd> debug -vb вывод отладочной информации при сборке
test -ts запуск тестов внутри контейнера
help -hl отображает справку о командах

Новости о проекте и форум

  • Последние новости о пакете, комментарии и пожелания можно узнать и обсудить на форуме компании Keenetic - forum.keenetic.com

Используемые в проекте продукты

  • Разработка проекта ведется на IDE от компании JetBrains.
  • Для проведения тестов, в проекте используется пакет BATS от нескольких АВТОРОВ.
Clone this wiki locally