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

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

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

Правильно ли я понимаю то, что пакеты, положенные в папку /opt/install будут распаковываться при каждой загрузке роутера, причём post/pre-inst скрипты в пакетах выполняться не будут?

Опубликовано
Правильно ли я понимаю то, что пакеты, положенные в папку /opt/install будут распаковываться при каждой загрузке роутера, причём post/pre-inst скрипты в пакетах выполняться не будут?

Пакеты после установки удаляются. Скрипты пока не выполняются, но это можно (и нужно) обсудить.

Опубликовано
Пакеты после установки удаляются. Скрипты пока не выполняются, но это можно (и нужно) обсудить.
Пока просто вожу руками в воздухе. Если удастся получить девайс на тест, то внесу посильный вклад.

Первая засада с выполнением post/pre-inst скриптов видится в том, что они представляют собой shell-скрипты, начинающиеся shebang'ом #!/bin/sh и к моменту их выполнения /opt/bin/sh ещё может не существовать.

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

Первая засада с выполнением post/pre-inst скриптов видится в том, что они представляют собой shell-скрипты, начинающиеся shebang'ом #!/bin/sh и к моменту их выполнения /opt/bin/sh ещё может не существовать.

Поэтому мы сделали минимальную преустановку, где не требуется выполнение этих скриптов. Эмулятор opkg в прошивке только распаковывает пакеты, самого же opkg в этот момент еще не существует. Эмулятор еще в доработке, последнее, что от него сейчас требуется, это создание базы установленных пакетов по образу и подобию, как это делает opkg в /opt/usr/lib/opkg. Это поможет избежать постановку пакетов в режим hold, которые находятся в преустановочном архиве, и по мере выхода новых версии их обновлять, а так же разрулить зависимости, что бы повторно не тянуть установленные пакеты.

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

Пакеты после установки удаляются. Скрипты пока не выполняются, но это можно (и нужно) обсудить.

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

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

/opt/install как раз и нужен, чтобы поставить минимальный набор утилит для начала работы. В этот момент скрипты не нужны. Затем, имея настоящий /opt/bin/sh и настоящий /opt/bin/opkg, будут ставиться пакеты со скриптами, и установкой будет заниматься /opt/bin/opkg, а не компонент прошивки.

Можете привести несколько примеров пакетов с pre- и post-install скриптами для понимания?

Опубликовано
/opt/install как раз и нужен, чтобы поставить минимальный набор утилит для начала работы. В этот момент скрипты не нужны. Затем, имея настоящий /opt/bin/sh и настоящий /opt/bin/opkg, будут ставиться пакеты со скриптами, и установкой будет заниматься /opt/bin/opkg, а не компонент прошивки.

Можете привести несколько примеров пакетов с pre- и post-install скриптами для понимания?

Примеры из моих пакетов: раз, два, три.

Раз у /opt/install цель — установить окружение для работы, то теоретически может понадобиться и /opt/bin/sh. Это можно учесть в зависимостях пакета, если, конечно, при установке из /opt/install эти зависимости будут учитываться.

Если зависимости не будут учитываться, что хорошо бы распаковывать пакеты из /opt/install в алфавитном порядке, тогда зависимости можно будет соблюсти, назвав пакеты 00utility1.ipk, 02utility1.ipk и т.д.

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

Основная не стыковка в том, что /bin/sh требует окружения, которого нет в NDMS, так какой смысл выполнять скрипты из пакетов, если системы как таковой еще нет? Мы предложили минимальный набор пакетов, это наиболее правильное решение, которое создаст нужную среду, в том числе и для opkg. Приоритеты установки по алфавиту, это костыльное и грубое решение, так делать нельзя. Все пакеты должны обновляться, я понимаю, что в первоначальной установке Entware это не учтено, у нас пока тоже, но как только сделаем базу opkg с info, все будет как надо.

Опубликовано
Все пакеты должны обновляться, я понимаю, что в первоначальной установке Entware это не учтено, у нас пока тоже, но как только сделаем базу opkg с info, все будет как надо.
В смысле? Т.е. при выполнении opkg upgrade должны обновляться в т.ч. те пакеты, которые были распакованы из /opt/install?

Про Entware пока речь не заходила, но там не в пакетах только сам статический бинарник opkg. Это сделано умышлено, для того, чтобы он остался работоспособен даже в том случае, если остальная система в руинах.

Кстати, сто́ит ли мне сделать такой html-индекс для keenopt для облегчения навигации по пакетам? Чуть позже сделаю на своих мощностях, посмотрим насколько будет полезен.

Опубликовано
В смысле? Т.е. при выполнении opkg upgrade должны обновляться в т.ч. те пакеты, которые были распакованы из /opt/install?

Совершенно верно, те же uclibc обновить или base-files к примеру...

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

Кстати, сто́ит ли мне сделать такой html-индекс для keenopt для облегчения навигации по пакетам? Чуть позже сделаю на своих мощностях, посмотрим насколько будет полезен.

Если не обременит, то наверное стоит, хотя бы для того, что бы посмотреть список пакетов для установки или скачать индивидуально интересующий пакет.

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

Можете привести несколько примеров пакетов с pre- и post-install скриптами для понимания?

Примеры из моих пакетов: раз, два, три.

Такие скрипты будут работать. Проблемы возникнут, например, с добавлением пользователей или групп, т.к. /etc/passwd и /etc/group управляется через NDMS.

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

Т.е. при выполнении opkg upgrade должны обновляться в т.ч. те пакеты, которые были распакованы из /opt/install?
Совершенно верно, те же uclibc обновить или base-files к примеру...
Тогда наиболее логичный путь — это установка первым делом полноценного opkg. И не надо будет обременять "эмулятор" opkg всеми функциями настоящего (в части, записью статусов распакованных пакетов в /opt/lib/opkg/status), и будет возможность обновлять в т.ч. базовые файлы и uclibc-библиотеки.
Опубликовано
Кстати, сто́ит ли мне сделать html-индекс для keenopt для облегчения навигации по пакетам? Чуть позже сделаю на своих мощностях, посмотрим насколько будет полезен.
Если не обременит, то наверное стоит, хотя бы для того, что бы посмотреть список пакетов для установки или скачать индивидуально интересующий пакет.
Готово.

https://www.ryzhov-al.ru/keenopt_index/

Обновляется раз в сутки.

Опубликовано
Правильно ли я понимаю то, что пакеты, положенные в папку /opt/install будут распаковываться при каждой загрузке роутера…?
Пакеты после установки удаляются…
Используется ли /tmp при распаковки этих пакетов? Т.е. не исчерпаю ли я всю RAM, если положу внутрь /opt/install/package.ipk DVD-фильм?

Спрашиваю потому, что хочу подготовить для кинетиков пакет с chroot-средой Debian. Ultra II, в частности, удовлетворяет минимальным требованиям, а схожий пакет предыдущей версии был востребован ранее пользователями других роутеров.

Пакет в сжатом виде получится ~40МБ.

Опубликовано
Используется ли /tmp при распаковки этих пакетов? Т.е. не исчерпаю ли я всю RAM, если положу внутрь /opt/install/package.ipk DVD-фильм?

Нет, tar.gz любой вложенности позволяет распаковывать в потоке, не используя промежуточный каталог.

  • 2 недели спустя...
Опубликовано
McMCC, Дебиана не будет до тех пор, пока прошивка собрана с soft-float.

Не верная трактовка, я по-моему все объяснил, вам нужен FPU эмулятор в ядре, а как собрана прошивка совершенно не важно...

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

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

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

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