Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

Насколько понимаю, сейчас среда NDM Systems Buildroot сделана так, чтобы как можно меньше отличаться от OpenWrt Buildroot. Пакеты конфигурируются, компилируются и пакуются без упоминания префикса /opt, что позволяет использовать Makefile'ы OpenWrt'шных пакетов без какой-либо модификации, а для распаковки на роутере в конфиге opkg.conf указывается опция dest root /opt. В частности, вижу в билдруте NDM:

$ cat include/package-defaults.mk
...
CONFIGURE_PREFIX:=/usr
CONFIGURE_ARGS = \
               --target=$(GNU_TARGET_NAME) \
               --host=$(GNU_TARGET_NAME) \
               --build=$(GNU_HOST_NAME) \
               --program-prefix="" \
               --program-suffix="" \
               --prefix=$(CONFIGURE_PREFIX) \
               --exec-prefix=$(CONFIGURE_PREFIX) \
               --bindir=$(CONFIGURE_PREFIX)/bin \
               --sbindir=$(CONFIGURE_PREFIX)/sbin \
               --libexecdir=$(CONFIGURE_PREFIX)/lib \
               --sysconfdir=/etc \
               --datadir=$(CONFIGURE_PREFIX)/share \
               --localstatedir=/var \
               --mandir=$(CONFIGURE_PREFIX)/man \
               --infodir=$(CONFIGURE_PREFIX)/info \
               $(DISABLE_NLS) \
               $(DISABLE_LARGEFILE) \
               $(DISABLE_IPV6)
 

Получается, что пакеты, которые конфигурируются с помощью GNU Build System (половина, а то и большинство) получат в своих бинарниках hardcoded-пути: /etc для поиска своих конфигов, /var — для сохранения временных данных, /usr/share для поиска данных и т.п., что неправильно.

Правильный вариант кроме указания корректных опций конфигурирования потребует соответсвующего изменения Makefile'ов пакетов, что значительно более трудоёмкая задача.

Первый путь был выбран исходя из перечисленных доводов? Не будет ли это нарушение FHS выглядеть коряво?

Здесь лежат все необходимые правки билдрута, если будет выбран «правильный» путь. С пакетами, повторюсь, придётся повозиться отдельно.

Опубликовано

Все это переделывается на /opt по мере отладки, то только в Makefile самих пакетов. Собственно, это ничем не отличается от вашего варианта.

Опубликовано

Как я пока что понимаю, несмотря на присутствие в base-files скриптов /lib/functions, OpenWrt'шный механизм не будет использоваться ни для конфигурирования пакетов, ни для запуска сервисов, т.к. для запуска выбрана NSLU-like схема /opt/etc/init.d/Sxx. Соответсвенно, Makefile'ы для половины пакетов всё равно придётся править, хотя бы ради добаваления скриптов запуска.

Опубликовано

Ориентироваться на то, что у нас сейчас есть, не нужно. У нас сейчас совсем сырая голая система, в которой пока нормально работает busybox и mc, все остальное нужно допиливать. Есть 2-а варианта установки, через chroot, что предполагалось изначально, поэтому вы не видите /opt во многих пакетах, и в сам /opt напрямую, что сейчас мы пытаемся сделать. У нас с вами разное видение, мы хотим Keenopt приобщить к общему использованию ресурсов с прошивкой, а у вас Entware живет отдельно своей полноценной жизнью. Ничего плохого в этом нет, все зависит от поставленных задач...

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.