Entware-ng - новая система сборки пакетов Entware

Форум программистов
Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 21 окт 2015, 18:07

Предлагаю Вашему вниманию новую систему сборки пакетов Entware разных для архитектур: Entware-ng. Подробнее в этом файле.

В настоящий момент в системе есть следующие "цели" (targets):

  • mipsel soft float. ядро энтузиастов 2.6.22, gcc 4.8.5, uclibc-ng 1.09,
  • armv7 softfloat (Cortex-a9), ядро 2.6.36, gcc 4.8.5, glibc 2.22,
  • armv5 softfloat, ядро 2.6.32, gcc 4.8.5, glibc 2.22,
  • x86, ядро 2.6.32, gcc 4.85, glibc 2.22,
  • x64 для NASов на Intel с 64 битным ядром.

Несложно выбрать другой компилятор (gcc 4.9.3 или 5.22) или libc (например musl) или создать свою платформу (mips be, x64) для своей архитектуры.

Инструкция по сборке. Лучше делать по этапам:

  1. git clone
  2. scripts update + install
  3. copy config
  4. (опционально) make menuconfig. Можно посмотреть, как настроена сборка, что выбрано. Изменить. Если ничего не меняли, но при выходе система попросит сохранить конфиг - сохраните.
  5. (опционально) если есть ранее скачанные исходники пакетов, делаем симлинк dl на папку с исходниками и экономим на повторном скачивании.
  6. "make tools/install"
  7. "make toolchain/install"
  8. make target/compile
  9. дальше уже работать со сборкой пакетов (как и раньше).

После make можно задать параметр -j5 (сборка в 5 потоков), в самом конце V=s (подробная выдача). Например

Код: Выделить всё

make -j4 package/minidlna/compile V=s


Пишите о найденных ошибках, предлагайте исправления. Если сборка упала при использовании нескольких потоков, уберите флаг "-j" и запустите заново. Полная сборка (tools, toolchain и ~1800 пакетов) на современном многоядерном проце в несколько потоков занимает чуть более двух часов для одной платформы.

Аватара пользователя
Александр Рыжов
Сообщения: 447
Зарегистрирован: 12 авг 2015, 14:14
Откуда: Смоленск

Сообщение Александр Рыжов » 21 окт 2015, 19:19

Пакеты для цели mipselsf лежат здесь. Установка абсолютно аналогична Entware:

Код: Выделить всё

wget -O - http://entware.zyxmon.org/binaries/mipsel/installer/installer.sh | sh

trigger
Сообщения: 3
Зарегистрирован: 15 окт 2015, 22:42

Сообщение trigger » 29 окт 2015, 15:46

Подскажите, пожалуйста, а получится ли настроить конфиг для сборки с ядром 3.2? Существенная ли разница ядра 3.2 с ядром 2.6.36? Я хочу попробовать собрать пакеты под конкретные конфиги хранилищ synology и qnap, чтобы установить их в системные папки и не использовать копии системных библиотек, получится ли это? Насколько больше памяти занимается при использовании двух копий библиотек?
Помогите, пожалуйста, разобраться...

Аватара пользователя
Александр Рыжов
Сообщения: 447
Зарегистрирован: 12 авг 2015, 14:14
Откуда: Смоленск

Сообщение Александр Рыжов » 29 окт 2015, 17:36

Поможем разобраться, если расскажете про вашу цель.
Исходники ядра используются при сборке тулчейна (компилятора, линковщика и пр.), ими будет определяться список доступных syscall'ов, к которым допустимо обращаться в системе назначения. Следственно, о смене исходников ядра вам надо задумываться только в том случае, если собранный текущим тулчейном бинарник отказывается работать.

Непонятно зачем помещать пакеты в системные папки, если они не будут использовать копии сторонних библиотек. Раз библиотеки будут использоваться сторонние (например, /opt/lib), то и бинарники пусть лежат за пределами системных файлов (например, /opt/bin).

По поводу второй копии системных библиотек в памяти я бы не парился. Речь об экономи полтора-двух-трёх мегабайт оперативки.

trigger
Сообщения: 3
Зарегистрирован: 15 окт 2015, 22:42

Сообщение trigger » 30 окт 2015, 10:25

Спасибо, большое! Дошло наконец!
Цель установить ряд пакетов на NAS synology или на qnap, ещё не определился в выбором (пока нет физически, есть виртуалка). Для synology смог собрать парочку пакетов их тулчейном, установил, заработало, выглядит интересно и красиво в стандартном интерфейсе DSM 5.2, вот только пилить скрипты, собирать, обновлять занимает порядочно времени, вот и думаю, стоит ли оно того или взять Entware за основу, тут почти всё нужное из пакетов есть, по крайней мере скрипты установки, запуска уже готовы и обновить попроще будет. Я думаю Вы посоветуете на Entware остановиться?

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 01 ноя 2015, 10:57

trigger писал(а):Источник цитаты Я думаю Вы посоветуете на Entware остановиться?

Конечно. Насколько мне известно, некоторые разработчики используют "гремучую смесь" системы сборки Entware/Qnapware и родной от производителя НАСа для сборки пакетов QNAP. Entware удобно не только использовать. В Entware удобно и приложения собирать.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 06 ноя 2015, 10:08

После консультаций "с разными светлыми головами", которые занимаются прошивками было решено перейти на gcc 4.8.5.
Внесено довольно много изменений - https://github.com/Entware-ng/Entware-n ... ngelog.txt

Добавлены binutils 2.24 (именно эту версию лучше использовать с gcc < 5.x), добавлены патчи для gcc 4.8.5 из debian (thanks sfsdudio) и openwrt (4.8.linaro): https://github.com/Entware-ng/Entware-n ... ches/4.8.5 , исправлена сборка с graphite и т.д.

Система в процессе исправлений, но уже сейчас вполне работоспособна.

Аватара пользователя
Александр Рыжов
Сообщения: 447
Зарегистрирован: 12 авг 2015, 14:14
Откуда: Смоленск

Сообщение Александр Рыжов » 10 ноя 2015, 09:53

В ближайшее время пользователи, использующие старые фиды entware и mipselsf получат сообщение с предложением перейти на Entware-ng. Старые фиды больше обновляться не будут.

Аватара пользователя
LordMerlin
Сообщения: 131
Зарегистрирован: 22 авг 2015, 15:31
Откуда: Третья планета от Солнца

Сообщение LordMerlin » 10 ноя 2015, 12:19

Простите за Офф...для 3052 под Вэйвом можно пробовать пользовать эту систему? Остальные фиды представленные здесь прекращают развитие? Этот будет единым для всех латформ?

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 10 ноя 2015, 12:32

Не знаю, что такое Вэйв. 3052 - это mipsel mips32r2 и новым фидом mipselsf поддерживается.


Вернуться в «Собираем софт сами (пакеты, прошивки)»

Кто сейчас на конференции

Всего 3 посетителя :: 0 зарегистрированных, 0 скрытых и 3 гостя (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя