Jump to content

Recommended Posts

Posted

Насколько понимаю, сейчас среда 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 выглядеть коряво?

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

Posted

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

Posted

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

Posted

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

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

This site uses cookies. By clicking "I accept" or continuing to browse the site, you authorize their use in accordance with the Privacy Policy.