Объединение Entware-ng и Entware-3x. Теперь это просто Entware!!!
-
- Администратор
- Сообщения: 1912
- Зарегистрирован: 09 авг 2015, 15:33
Разработчики Entware рады Вам сообщить о слиянии двух веток Entware-ng и Entware-3x. Выпущен новый набор репозиториев пакетов, который называется просто Entware. В этот репозиторий вошли все архитектуры Entware-3x (armv5, armv7, aarch64, mips, mipsel, x64) и репозиторий armv7 на ядре Linux 2.6.36 из состава Entware-ng. Остальные архитектуры замораживаются, их обновление больше не будет производиться.
Проведено обновление тулчейна (инструментов сборки), теперь все пакеты собираются с помощью компилятора GCC 7.3. В качестве системной библиотеки используется glibc 2.27 или 2.23 (ограничения ядра 2.6.36).
Кроме mipsel, обновление для перешедших в Entware архитектур произойдет автоматически после выполнения команд `opkg update && opkg upgrade` два раза подряд. Сначала будет обновлен файл opkg.conf (заменен URL репозитория на новый). При втором выполнении будут обновлены сами пакеты.
В системе Entware имеются два типа установок. Стандартная установка Entware в отличие от Entware-3x не устанавливает пакет busybox. Это сделано для того, чтобы избежать возможное влияние на работу прошивки. Стандартная установка Entware фактически совпадает с установкой Entware-ng. В случае т.н. альтернативной установки будет установлен пакет busybox. В этом случае пользователи и группы в Entware независимы от пользователей и групп прошивки. По умолчанию при альтернативной установке в Entware имеется пользователь root с паролем 12345.
В настоящее время различные варианты Entware широко используются на роутерах, сетевых хранилищах, Android устройствах и других устройствах с ядром Linux.
Команда Entware готова рассмотреть предложения о добавлении новых репозиториев в проект. Если Вы хотите, что бы Ваше устройство было поддержано сообщите его название, вывод команды `uname -a` и другую информацию, которую сочтете необходимой. Linux ядро должно быть не моложе 2.6.36!
Проведено обновление тулчейна (инструментов сборки), теперь все пакеты собираются с помощью компилятора GCC 7.3. В качестве системной библиотеки используется glibc 2.27 или 2.23 (ограничения ядра 2.6.36).
Кроме mipsel, обновление для перешедших в Entware архитектур произойдет автоматически после выполнения команд `opkg update && opkg upgrade` два раза подряд. Сначала будет обновлен файл opkg.conf (заменен URL репозитория на новый). При втором выполнении будут обновлены сами пакеты.
В системе Entware имеются два типа установок. Стандартная установка Entware в отличие от Entware-3x не устанавливает пакет busybox. Это сделано для того, чтобы избежать возможное влияние на работу прошивки. Стандартная установка Entware фактически совпадает с установкой Entware-ng. В случае т.н. альтернативной установки будет установлен пакет busybox. В этом случае пользователи и группы в Entware независимы от пользователей и групп прошивки. По умолчанию при альтернативной установке в Entware имеется пользователь root с паролем 12345.
В настоящее время различные варианты Entware широко используются на роутерах, сетевых хранилищах, Android устройствах и других устройствах с ядром Linux.
Команда Entware готова рассмотреть предложения о добавлении новых репозиториев в проект. Если Вы хотите, что бы Ваше устройство было поддержано сообщите его название, вывод команды `uname -a` и другую информацию, которую сочтете необходимой. Linux ядро должно быть не моложе 2.6.36!
-
- Администратор
- Сообщения: 1912
- Зарегистрирован: 09 авг 2015, 15:33
Github репозиторий - https://github.com/Entware
aarch64 (ядро 3.10 или старше), пакеты тут - http://bin.entware.net/aarch64-k3.10/Packages.html
generic установщик - http://bin.entware.net/aarch64-k3.10/in ... generic.sh
alternative - http://bin.entware.net/aarch64-k3.10/in ... rnative.sh
armv5 (ядро 3.2 или старше), пакеты тут - http://bin.entware.net/armv5sf-k3.2/Packages.html
generic установщик - http://bin.entware.net/armv5sf-k3.2/ins ... generic.sh
alternative - http://bin.entware.net/armv5sf-k3.2/ins ... rnative.sh
armv7 (ядро 3.2 или старше), пакеты тут - http://bin.entware.net/armv7sf-k3.2/Packages.html
generic установщик - http://bin.entware.net/armv7sf-k3.2/ins ... generic.sh
alternative - http://bin.entware.net/armv7sf-k3.2/ins ... rnative.sh
armv7 (ядро 2.6.36 или старше), пакеты тут - http://bin.entware.net/armv7sf-k2.6/Packages.html
generic установщик - http://bin.entware.net/armv7sf-k2.6/ins ... generic.sh
alternative - http://bin.entware.net/armv7sf-k2.6/ins ... rnative.sh
mips (ядро 3.4 или старше), пакеты тут - http://bin.entware.net/mipssf-k3.4/Packages.html
generic установщик - http://bin.entware.net/mipssf-k3.4/installer/generic.sh
alternative - http://bin.entware.net/mipssf-k3.4/inst ... rnative.sh
mipsel (ядро 3.4 или старше), пакеты тут - http://bin.entware.net/mipselsf-k3.4/Packages.html
generic установщик - http://bin.entware.net/mipselsf-k3.4/in ... generic.sh
alternative - http://bin.entware.net/mipselsf-k3.4/in ... rnative.sh
x64 (ядро 3.2 или старше), пакеты тут - http://bin.entware.net/x64-k3.2/Packages.html
generic установщик - http://bin.entware.net/x64-k3.2/installer/generic.sh
alternative - http://bin.entware.net/x64-k3.2/install ... rnative.sh
Для armv7 (ядро 2.6.36) добавилось несколько десятков пакетов, по сравнению с версией Entware-ng. Некоторые пакеты обновлены. Различие (по числу и версиям пакет с другими репозиториями минимально). Этот репозиторий перешел от Entware-ng и предназначен прежде всего для arm роутеров на чипсетах Broadcom.
aarch64 (ядро 3.10 или старше), пакеты тут - http://bin.entware.net/aarch64-k3.10/Packages.html
generic установщик - http://bin.entware.net/aarch64-k3.10/in ... generic.sh
alternative - http://bin.entware.net/aarch64-k3.10/in ... rnative.sh
armv5 (ядро 3.2 или старше), пакеты тут - http://bin.entware.net/armv5sf-k3.2/Packages.html
generic установщик - http://bin.entware.net/armv5sf-k3.2/ins ... generic.sh
alternative - http://bin.entware.net/armv5sf-k3.2/ins ... rnative.sh
armv7 (ядро 3.2 или старше), пакеты тут - http://bin.entware.net/armv7sf-k3.2/Packages.html
generic установщик - http://bin.entware.net/armv7sf-k3.2/ins ... generic.sh
alternative - http://bin.entware.net/armv7sf-k3.2/ins ... rnative.sh
armv7 (ядро 2.6.36 или старше), пакеты тут - http://bin.entware.net/armv7sf-k2.6/Packages.html
generic установщик - http://bin.entware.net/armv7sf-k2.6/ins ... generic.sh
alternative - http://bin.entware.net/armv7sf-k2.6/ins ... rnative.sh
mips (ядро 3.4 или старше), пакеты тут - http://bin.entware.net/mipssf-k3.4/Packages.html
generic установщик - http://bin.entware.net/mipssf-k3.4/installer/generic.sh
alternative - http://bin.entware.net/mipssf-k3.4/inst ... rnative.sh
mipsel (ядро 3.4 или старше), пакеты тут - http://bin.entware.net/mipselsf-k3.4/Packages.html
generic установщик - http://bin.entware.net/mipselsf-k3.4/in ... generic.sh
alternative - http://bin.entware.net/mipselsf-k3.4/in ... rnative.sh
x64 (ядро 3.2 или старше), пакеты тут - http://bin.entware.net/x64-k3.2/Packages.html
generic установщик - http://bin.entware.net/x64-k3.2/installer/generic.sh
alternative - http://bin.entware.net/x64-k3.2/install ... rnative.sh
Для armv7 (ядро 2.6.36) добавилось несколько десятков пакетов, по сравнению с версией Entware-ng. Некоторые пакеты обновлены. Различие (по числу и версиям пакет с другими репозиториями минимально). Этот репозиторий перешел от Entware-ng и предназначен прежде всего для arm роутеров на чипсетах Broadcom.
-
- Сообщения: 161
- Зарегистрирован: 29 фев 2016, 13:34
Идея классная.
Пытаюсь собрать для Cortex-A15. Уткнулся в ошибки сборки тулчейна (в glibc-2.27). Есть идеи, что я делаю не так?
Спасибо,
Voxel.
Пытаюсь собрать для Cortex-A15. Уткнулся в ошибки сборки тулчейна (в glibc-2.27). Есть идеи, что я делаю не так?
Код: Выделить всё
. . .
make[6]: Leaving directory '/home/voxel/Entware/build_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/glibc-2.27/elf'
arm-openwrt-linux-gnueabi-gcc -nostdlib -nostartfiles -shared -o /home/voxel/Entware/build_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/glibc-2.27-final/elf/ld.so.new \
-Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -Wl,-z,defs \
/home/voxel/Entware/build_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/glibc-2.27-final/elf/librtld.os -Wl,--version-script=/home/voxel/Entware/build_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/glibc-2.27-final/ld.map \
-Wl,-soname=ld-linux-armhf.so.3 \
-Wl,-defsym=_begin=0
/home/voxel/Entware/build_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/glibc-2.27-final/elf/librtld.os: In function `process_dl_debug':
raise.c:(.text+0x4dc): undefined reference to `memcpy'
/home/voxel/Entware/build_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/glibc-2.27-final/elf/librtld.os: In function `_dl_start':
raise.c:(.text+0x108c): undefined reference to `memcpy'
/home/voxel/Entware/build_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/glibc-2.27-final/elf/librtld.os: In function `handle_ld_preload':
raise.c:(.text+0x15bc): undefined reference to `memcpy'
raise.c:(.text+0x15e8): undefined reference to `memchr'
/home/voxel/Entware/build_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/glibc-2.27-final/elf/librtld.os: In function `dl_main':
raise.c:(.text+0x1868): undefined reference to `memcpy'
raise.c:(.text+0x1e2c): undefined reference to `memchr'
raise.c:(.text+0x2c24): undefined reference to `memcpy'
raise.c:(.text+0x4098): undefined reference to `memcpy'
raise.c:(.text+0x4344): undefined reference to `memchr'
raise.c:(.text+0x4750): undefined reference to `memchr'
raise.c:(.text+0x4880): undefined reference to `memcpy'
/home/voxel/Entware/build_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/glibc-2.27-final/elf/librtld.os: In function `open_verify.constprop.7':
raise.c:(.text+0x57f0): undefined reference to `memcpy'
/home/voxel/Entware/build_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/glibc-2.27-final/elf/librtld.os: In function `open_path':
raise.c:(.text+0x5bbc): undefined reference to `memcpy'
/home/voxel/Entware/build_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/glibc-2.27-final/elf/librtld.os: In function `_dl_map_object_from_fd':
raise.c:(.text+0x6960): undefined reference to `memcpy'
raise.c:(.text+0x7068): undefined reference to `memcpy'
/home/voxel/Entware/build_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/glibc-2.27-final/elf/librtld.os:raise.c:(.text+0x7178): more undefined references to `memcpy' follow
/home/voxel/Entware/staging_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/lib/gcc/arm-openwrt-linux-gnueabi/7.3.0/../../../../arm-openwrt-linux-gnueabi/bin/ld: /home/voxel/Entware/build_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/glibc-2.27-final/elf/ld.so.new: hidden symbol `memchr' isn't defined
/home/voxel/Entware/staging_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/lib/gcc/arm-openwrt-linux-gnueabi/7.3.0/../../../../arm-openwrt-linux-gnueabi/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
Makefile:478: recipe for target '/home/voxel/Entware/build_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/glibc-2.27-final/elf/ld.so' failed
make[5]: *** [/home/voxel/Entware/build_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/glibc-2.27-final/elf/ld.so] Error 1
make[5]: Leaving directory '/home/voxel/Entware/build_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/glibc-2.27/elf'
Makefile:215: recipe for target 'elf/subdir_lib' failed
make[4]: *** [elf/subdir_lib] Error 2
make[4]: Leaving directory '/home/voxel/Entware/build_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/glibc-2.27'
Makefile:9: recipe for target 'all' failed
make[3]: *** [all] Error 2
make[3]: Leaving directory '/home/voxel/Entware/build_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/glibc-2.27-final'
Makefile:32: recipe for target '/home/voxel/Entware/build_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/glibc-2.27-final/.built' failed
make[2]: *** [/home/voxel/Entware/build_dir/toolchain-arm_cortex-a15_gcc-7.3.0_glibc-2.27_eabi/glibc-2.27-final/.built] Error 2
make[2]: Leaving directory '/home/voxel/Entware/toolchain/glibc'
toolchain/Makefile:96: recipe for target 'toolchain/glibc/compile' failed
make[1]: *** [toolchain/glibc/compile] Error 2
make[1]: Leaving directory '/home/voxel/Entware'
/home/voxel/Entware/include/toplevel.mk:216: recipe for target 'toolchain/install' failed
make: *** [toolchain/install] Error 2
Спасибо,
Voxel.
-
- Администратор
- Сообщения: 1912
- Зарегистрирован: 09 авг 2015, 15:33
-
- Администратор
- Сообщения: 1912
- Зарегистрирован: 09 авг 2015, 15:33
Самое простое - оставить gcc 7.3, а binutils и libc выбрать те версии, что были раньше.
Дополнение. Возможно вылез старый баг, когда gcc оптимизирует код в вызов memcpy.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56888
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82845
Наблюдается и в gcc8. Там же фикс. Может быть связано с -O3 при сборке тулчейна.
Дополнение. Возможно вылез старый баг, когда gcc оптимизирует код в вызов memcpy.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56888
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82845
Наблюдается и в gcc8. Там же фикс. Может быть связано с -O3 при сборке тулчейна.
-
- Сообщения: 161
- Зарегистрирован: 29 фев 2016, 13:34
Гуглить-то я умею. Тем не менее спасибо за ссылки.
Замена на -O2 не помогла. Не похоже на баг с memcpy оптимизацией. Указание опций для выключения такой оптимизации также на помогла (-fno-tree-loop-distribute-patterns). Также, указание явно библиотеки в Makefile.
Короче, сделал откат на glibc 2.26. Это работает без проблем. Соответственно, переделал патчи для 2.26. Грешу на баг в 2.27. Слишком свежая версия. В конце-концов OpenWRT/LEDE используют 2.26. Пусть 2.27 подождет своего часа и патча.
Мне просто интересно: а у тебя что, не было такой проблемы? Что у меня специфического... Использую последний Debian с gcc 6.3...
Voxel.
Замена на -O2 не помогла. Не похоже на баг с memcpy оптимизацией. Указание опций для выключения такой оптимизации также на помогла (-fno-tree-loop-distribute-patterns). Также, указание явно библиотеки в Makefile.
Короче, сделал откат на glibc 2.26. Это работает без проблем. Соответственно, переделал патчи для 2.26. Грешу на баг в 2.27. Слишком свежая версия. В конце-концов OpenWRT/LEDE используют 2.26. Пусть 2.27 подождет своего часа и патча.
Мне просто интересно: а у тебя что, не было такой проблемы? Что у меня специфического... Использую последний Debian с gcc 6.3...
Voxel.
-
- Администратор
- Сообщения: 1912
- Зарегистрирован: 09 авг 2015, 15:33
Voxel писал(а):Источник цитаты Мне просто интересно: а у тебя что, не было такой проблемы? Что у меня специфического... Использую последний Debian с gcc 6.3...
Все архитектуры собираются без проблем. Разница (в случае armv7) в softfloat, оптимизации (-O2) и опциях под cortex.
PS В Openwrt перешли на gcc 7.3 по умолчанию. Используют с binutils 2.29.1 (может стоит сменить 2.30 на эту версию и проблема уйдет?). Но там musl, а сборка падает на libc! Для сборки используется Debian 8.
-
- Сообщения: 161
- Зарегистрирован: 29 фев 2016, 13:34
Zyxmon писал(а):Источник цитаты В Openwrt перешли на gcc 7.3 по умолчанию
Но glibc если используется, то 2.26.
Zyxmon писал(а):Источник цитаты может стоит сменить 2.30 на эту версию и проблема уйдет?
Не, игрался с этим. До 2.27 по нисходящей проверял.
Zyxmon писал(а):Источник цитаты Разница (в случае armv7) в softfloat, оптимизации (-O2) и опциях под cortex.
Возможно, неправильно обрабатывается отсутствие -march=armv7a (и вообще "-march"). Я эту опцию специально не использую для Cortex-A15... Встречал такие пакеты, которые без -march неправильно конфигурируются и ломаются при компиляции.
Voxel.
-
- Сообщения: 161
- Зарегистрирован: 29 фев 2016, 13:34
-
- Сообщения: 161
- Зарегистрирован: 29 фев 2016, 13:34
Собрал Entware для архитектуры Cortex-A15:
http://cortex-a15.zyxmon.org/binaries/cortex-a15-3x/
Voxel.
http://cortex-a15.zyxmon.org/binaries/cortex-a15-3x/
Voxel.
Вернуться в «Entware/Qnapware/Optware/Zyxware - обсуждаем репозитории пакетов»
Кто сейчас на конференции
Всего 6 посетителей :: 0 зарегистрированных, 0 скрытых и 6 гостей (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей