Подготовка окружения для сборки пакетов под OpenWRT
В рамках одного из проектов пришлось столкнуться с разработкой под OpenWRT. Теперь я просто нинздя по кастомизации прошивки на базе OpenWRT для DIR-320 version A1. Вероятно те, кто занимаются этим постоянно, не найдут тут ничего нового. Так что, заметка скорее для себя. Итак, по шагам.
- Для начала надо подготовить OS для сборки окружения. Устанавливаем необходимые пакеты:
apt-get install gcc g++ make zlib1g-dev libncurses5-dev gawk flex git-core subversion
- Скачиваем последний релиз OpenWRT. На данный момент это Chaos Calmer 15.0.5
git clone https://git.openwrt.org/openwrt.git
- Скачиваем дополнительные патчи:
./scripts/feeds update -a && ./scripts/feeds install -a
- Запускаем проверку зависимостей и инициализацию конфигурации.
make defconfig
- А теперь конфигурируем окружение - make menuconfig. Обязательные пункты:
- "Target system"
- "Build the OpenWRT SDK"
- "Build the OpenWRT based Toolchain"
- "Build the OpenWRT image builder" -> "Include package repositories"
- Сохраняем конфигурацию и собираем прошивку и toolchain.
make -jN
, где N - кол-во ядер CPU + 1. Сборка будет проходить параллельно. Разумеется, если вы включили это в конфигурации.
- Если все завершилось успешно, то можно приступать подготовке Makefile для вашего кастомного пакета. Как это сделать, описано тут:
- Теперь складываем свои исходники в package/<section>/<package_name>, где section - имя секции в репозиториях OpenWRT, package_name - имя вашего пакета.
- Снова запускаем make menuconfig и выбираем сборку нужно нам пакета. Все зависимости выберутся автоматически, если вы правильно их прописали в Makefile.
- Ну и собственно сборка:
make package/<section>/<package>/compile && make package/<section>/<package>/install && make package/index
Собранный пакет будет где-то тут:
openwrt/bin/<arch>/
, где arch - target system, чтобы была выбрана при сборке.
Мануал по сборке пакетов тут:
Комментариев нет:
Отправить комментарий