Jump to content

Recommended Posts

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

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

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

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

Posted

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

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

Posted

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

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

Posted

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

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

Posted
/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 и т.д.

Posted

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

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

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

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

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

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

Posted

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

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

Posted

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

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

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

Posted

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

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

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

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

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

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

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

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

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

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

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

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