PDA

Bekijk de volledige versie : Entware и Asusware - давайте сделаем совместимыми!



AndreyPopov
25-09-2014, 14:12
ведь реально Asusware это всего несколько пакетов:
downloadmaster
asuslighttpd
mediaserver
mediaserver2
aicloud
smartsync
asuswebstorage
inotify
webdavclient
cloudsync
lamp
asusffmpeg

все остальные пакеты они берут из репозитария Олега

вот такое содержание ipkg.conf
src/gz optware.oleg http://ipkg.nslu2-linux.org/feeds/op...g/cross/stable
src/gz optware.asus http://dlcdnet.asus.com/pub/ASUS/wireless/ASUSWRT

собственно для совместимости Entware и Asusware надо залинковать (по моему виденью)
- ln -s ./entware ./asusware
- все ipkg заменить на opkg в этих скриптах https://github.com/RMerl/asuswrt-merlin/tree/master/release/src/router/rom/apps_scripts
- и в opkg.conf добавить
src/gz optware.asus http://dlcdnet.asus.com/pub/ASUS/wireless/ASUSWRT

ryzhov_al
25-09-2014, 14:59
Повторюсь:

# ldd ./asus_lighttpd
libpcre.so.1 => not found
libdl.so.0 => /opt/lib/libdl.so.0 (0x2aac0000)
libssl.so.0.9.7 => not found
libcrypto.so.0.9.7 => not found
libgcc_s.so.1 => /opt/lib/libgcc_s.so.1 (0x2aad3000)
libc.so.0 => /opt/lib/libc.so.0 (0x2aaf6000)
ld-uClibc.so.0 => /opt/lib/ld-uClibc.so.0 (0x2aaa8000)
Дальше продолжать?

AndreyPopov
25-09-2014, 16:13
ну то что не нашел некоторые библиотеки - это поправимо.

вот это:
ld-uClibc.so.0 => /opt/lib/ld-uClibc.so.0 (0x2aaa8000) - это нормально?

ryzhov_al
25-09-2014, 16:55
ну то что не нашел некоторые библиотеки - это поправимо.Совершенно верно, не обращайте внимания.


вот это:
ld-uClibc.so.0 => /opt/lib/ld-uClibc.so.0 (0x2aaa8000) - это нормально?Да, это нормально. Я показываю то, что бинарники азусовской прошивки слинкованы не с библиотеками прошивки (/lib), а с библиотеками Optware (/opt/lib), и, соответственно, работать будут только с ними.

Нельзя по пути /opt поставить и Optware, и Entware. Мешанина несовместимых библиотек сделает систему неработоспособной.

AndreyPopov
25-09-2014, 17:50
Да, это нормально. Я показываю то, что бинарники азусовской прошивки слинкованы не с библиотеками прошивки (/lib), а с библиотеками Optware (/opt/lib), и, соответственно, работать будут только с ними.

Нельзя по пути /opt поставить и Optware, и Entware. Мешанина несовместимых библиотек сделает систему неработоспособной.

так я предлагаю ставить не Optware, а подменить Optware на Entware.

в исходниках ASUS прописана установка Optware, а мы подменим ее установкой Entware.

библиотек от Optware вообще не будет. будут только бибилиотеки Entware.

т.е. порядок действий таков:
- ставим Entware
- делаем линк ln -s ./entware ./asusware
- везде в исходниках заменяем ipkg на opkg (точнее это все сделано заранее)
- в opkg.conf добавляем

src/gz optware.asus http://dlcdnet.asus.com/pub/ASUS/wireless/ASUSWRT
чтобы видело пакеты asusware
- ставим или делаем линки на недостающее библиотеки

т.е. я предлагаю поправить прошивку, чтобы можно было использовать Entware вместо Optware

ryzhov_al
25-09-2014, 19:11
библиотек от Optware вообще не будет. будут только бибилиотеки Entware.Что сделает софт из /rom неработоспособным. Я уже показал на примере asus_lighttpd то, что бинарники азуса будут искать библиотеки в /opt/lib, и если там будут библиотеки не Optware, а Entware, то бинарники в большинстве случаев просто не запустятся.

AndreyPopov
25-09-2014, 19:16
Что сделает софт из /rom неработоспособным. Я уже показал на примере asus_lighttpd то, что бинарники азуса будут искать библиотеки в /opt/lib, и если там будут библиотеки не Optware, а Entware, то бинарники в большинстве случаев просто не запустятся.

ну бинарники то ищут просто имена файлов. они все прописаны в
https://github.com/RMerl/asuswrt-merlin/blob/master/release/src/router/rom/apps_scripts/app_base_library.sh
https://github.com/RMerl/asuswrt-merlin/blob/master/release/src/router/rom/apps_scripts/app_base_link.sh
сделать нужный линк не трудно.

вопрос в другом, захочет ли бинарник жить с новой версией бибилиотеки?
если там не изменились имена и параметры вызова функций, то все должно быть нормально.

ryzhov_al
25-09-2014, 19:39
вопрос в другом, захочет ли бинарник жить с новой версией бибилиотеки?
если там не изменились имена и параметры вызова функций, то все должно быть нормально.Не «в другом», это самый первый вопрос, который я вам в n-ный раз показываю. Тулчейны _очень_ сильно отличаются: Optware'шный вообще полагается исключительно на syscall'ы ядер 2.4.

Пожалуйста, поищите здесь впечатления тех людей, которые тщились перемешивать бинарники и\или библиотеки Entware и Optware. Даже если бинарник азуса запустится, вы не сможете предсказать момент когда он упадёт в seg.fault.

Я не стану отговаривать от создания такого франкенштейна, но полученный результат можно будет только врагу рекомендовать.

AndreyPopov
25-09-2014, 20:12
а перекомпилить asusware на Entware?

Omega
25-09-2014, 21:13
а перекомпилить asusware на Entware?
Эм, ну тут народ уже занимался подключением EntWare на стоковой прошивке :D

http://wl500g.info/showthread.php?30627-%D1%F2%E0%F0%F2%EE%E2%FB%E5-%F1%EA%F0%E8%EF%F2%FB-%E2-%F1%F2%EE%EA%EE%E2%EE%E9-%EF%F0%EE%F8%E8%E2%EA%E5-Asus-RT-N16-N66U-AC66U/page2

http://wl500g.info/showthread.php?30086-%CF%EE%E4%EA%EB%FE%F7%E5%ED%E8%E5-%F0%E5%EF%EE%E7%E8%F2%E0%F0%E8%FF-Entware-%ED%E0-%EE%F0%E8%E3%E8%ED%E0%EB%FC%ED%EE%E9-%EF%F0%EE%F8%E8%E2%EA%E5-Asus-RT-N66U

ryzhov_al
26-09-2014, 08:50
а перекомпилить asusware на Entware?Никак. Если исходники Download Manager'а я из Азуса в своё время выбил, то ряд других компонентов они предоставляют только в блобах, как например компоненты AiCloud. Наверняка ничего интересного в исходниках нет, просто security through obscurity.

Да и самое главное — чего ради? Потратить кучу сил для того, чтобы сделать совместимыми с Entware ряд сомнительных пакетов Азуса?
И всё это для узкого круга пользователей, образованного пересечением множеств пользователей Entware и пользователей DM.

AndreyPopov
26-09-2014, 10:56
Да и самое главное — чего ради? Потратить кучу сил для того, чтобы сделать совместимыми с Entware ряд сомнительных пакетов Азуса?
И всё это для узкого круга пользователей, образованного пересечением множеств пользователей Entware и пользователей DM.

ради прошивки. чтобы не приходилось выбирать, если захочется поставить что-то чего нет в прошивке.

хотя конечно в конце концов можно и из Optware это доставить.

AndreyPopov
26-09-2014, 13:59
Эм, ну тут народ уже занимался подключением EntWare на стоковой прошивке :D



вопрос то не в этом.

мы то тут не про стоковую прошивку, а про модифицировнную, в которой включен jffs и сам скрипт установки EntWare.


вопрос в том, что если пользоваться установленными из репозитария Asusware пакетами Doanload Master, MediaServer и AiCloud, то тогда не получится пользоваться EntWare.

хотя как я написал в предудыщем посте, все же остается Optware.

ryzhov_al
26-09-2014, 15:05
хотя как я написал в предудыщем посте, все же остается Optware.Вот на этой радостной ноте и предлагаю закончить попытки скрестить ежа с ужом.

MercuryV
21-10-2014, 02:16
AndreyPopov
Пожалуйста, не трогайте Entware.
Играйтесь с asus* дальше.

AndreyPopov
21-10-2014, 10:35
AndreyPopov
Пожалуйста, не трогайте Entware.


так Entware как никто и не трогал ;(

AndreyPopov
03-11-2014, 16:50
мысли вслух:

- и так все доп.пакеты доступные из asusware вынесены в external web kit
- дело осталось за малым ASUS DonwloadMaster

по сути ASUS DonwloadMaster состоит из трех частей:
1. вэб-морды, которая лежит в /opt/etc/downloadmaster
2. настроек и скриптов
3. бинарных файлов:
dm2_amulecmd
dm2_amuled
dm2_detect
dm2_nzbget
dm2_snarf
dm2_snarfmaster
dm2_transmission-daemon


в Entware есть:
transmission-daemon
nzbget
amule

не вижу в Entware snarf
и непонятно, что за dm2_detect

т.е. вопрос в чем - воспользоваться вэб-мордой ASUS, а бинарники залинковать от Entware.

ryzhov_al
04-11-2014, 08:46
т.е. вопрос в чем - воспользоваться вэб-мордой ASUS, а бинарники залинковать от Entware.Оставьте Entware в покое. Полученного в итоге Франкенштейна я добровольно никому не посоветую.

AndreyPopov
04-11-2014, 10:19
не трогаю я Entware. просто хочу уйти от Asusware при наличии стокового интерфейса.
и всего лишь прошу помощи, чтобы разобраться.

не хотите - не помогайте. я ж не заставляю.


буду сам разбираться и доделывать.

и Франкенштейном тут точно не пахнет.

пакет DownloadMaster состоит из вэб-морды и шести бинарных файлов

т.е. достатчоно реально сделать
entware-setup.sh
opkg install amule
opkg install nzbget
opkg install transmission-daemon
(остался вопрос где взять или чем заменить snarf)

и потом сделать
ln -s amuled dm2_amuled
ln -s amulecmd dm2_amulecmd
ln -s nzbget dm2_nzbget

ryzhov_al
04-11-2014, 10:48
не трогаю я Entware. просто хочу уйти от Asusware при наличии стокового интерфейса.
и всего лишь прошу помощи, чтобы разобраться.Тогда что мешает использовать transmission или nzbget? В прошивке Padavan'а пошли именно этим путём и совсем не жалеют.


пакет DownloadMaster состоит из вэб-морды и шести бинарных файловЭто несколько допиленные версии программ плюс собственный CGI-интерфейс. Гоняться за изменениями в CGI-интерфейсе DM — дело неблагодарное. У ваших пользователей будет так же часто отваливаться DM-утилита, как на стоковой прошивке, а заставлять пользователей каждый раз переустанавливать DM, как это делает Азус — тоже нездорово.

Мне в своё время удалось выбить у Азуса исходники Download Master'а и ознакомиться с его устройством.

Entware — прошивконезависимый репозиторий, поэтому попытки прилеплять к нему фичи Asus мы не приветствуем.

AndreyPopov
04-11-2014, 12:00
Тогда что мешает использовать transmission или nzbget? В прошивке Padavan'а пошли именно этим путём и совсем не жалеют.


собственно это я и хочу сделать, подменить бинарники, на бинарники из Entware. ведь по сути их надо просто заменить ссылками.