NDMS V2 + Entware

Используем пакеты, расширяющие возможности оборудования
Yura270972
Сообщения: 58
Зарегистрирован: 29 сен 2015, 15:21

Сообщение Yura270972 » 29 сен 2015, 15:30

Уважаемый Zyxmon хотелось бы узнать у вас будете ли вы заниматься прикручиванием Entware к NDMS V2, т.к с интересом наблюдал за вашей попыткой наладить конструктивный диалог с разработчиками ndms на соответствующем форуме.

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

Сообщение Zyxmon » 29 сен 2015, 15:36

А Вы думаете только я этим могу заниматься? Найдутся и другие, если что. Можете сами попробовать, я подскажу.
Только пока заниматься нечем, все там очень сырое. Но необходимый минимум обещали доделать. Давайте подождем.

Вот на форум keenopt.ru я больше не ходок. С одним из админов я не то что в разведку не пойду, в одном поле с... не сяду.

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

Сообщение Zyxmon » 03 окт 2015, 13:06

Минимальные необходимые изменение они вчера внесли
Как и следовало ожидать, Entware устанавливается и работает:
Entware_extra.png


Есть определенные "непонятки", скорее всего нечто ненужное накрутили для своей системы пакетов. Зачем? Скорее всего затачивают под chroot среду, т.к. имеется неописанная команда cli `opkg chroot`. Как исправить "непонятки" для Entware в целом понятно, хотя это будет и не самым прямым путем.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Yura270972
Сообщения: 58
Зарегистрирован: 29 сен 2015, 15:21

Сообщение Yura270972 » 03 окт 2015, 14:08

Будет ли мануал по установке?

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

Сообщение Zyxmon » 03 окт 2015, 15:54

Мануал. Да хоть сейчас -
1. Выполняете инструкции ndms (2 команды clI);
2. Берете файл ipk (еще не готов), по сети кладете в папку install, пару раз перезагружаете роутер.

Если принципиальных глюков с Entware не найду, то скоро выложу. Дайте недельку на проверку.

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

Сообщение Zyxmon » 03 окт 2015, 21:47

Пока проблем не видно. Переставил флешку с Entware в Ultra II. И там все нормально!
ew.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.

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

Сообщение Zyxmon » 04 окт 2015, 10:28

Не вижу я особых проблем у Entware на NDMS V2. О решаемых проблемах напишу отдельный пост.
Решил выложить свою инструкцию по установке. Она предварительная, никаких гарантий. О найденных проблемах пишите в этой теме.
Итак:

Нам потребуется кинетик с прошивкой, поддерживающей opkg. Прошивки тут - http://files.keenopt.ru/firmware/
USB носитель с файловой системой, поддерживающей символические ссылки (ext2, ext3 или ntfs).
Присвойте разделу носителя метку. Я использовал флешку и метку entware.
Зайдите в cli кинетика и выполните 2 команды (подробнее тут - https://github.com/ndmsystems/packages/ ... -Component )
1.

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

opkg disk entware

(задаем метку диска с entware, вместо entware используйте Вашу метку раздела)
2.

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

opkg initrc /opt/etc/init.d/rc.unslung

(задаем стартовый скрипт)
3.

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

system configuration save

(сохраняем настройки)

Подключаем носитель к кинетику. В конце журнала должно появиться нечто подобное

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

[I] Oct  4 10:03:34 ndm: kernel: sd 0:0:0:0: [sda] Attached SCSI removable disk
[W] Oct  4 10:03:34 ndm: FileSystem::Ext: "/dev/sda" has an unknown partition type, ignored. 
[I] Oct  4 10:03:34 ndm: FileSystem::Ext: ext2 "5a0e4a8f-7bb8-4086-b92d-bb3985ae48b1:" filesystem initialized. 
[I] Oct  4 10:03:34 ndm: Opkg::Manager: /tmp/mnt/entware mounted to /tmp/mnt/entware. 
[I] Oct  4 10:03:34 ndm: Opkg::Manager: /tmp/mnt/entware mounted to /opt/. 
[I] Oct  4 10:03:34 ndm: Opkg::Manager: /tmp/mnt/entware initialized. 
[E] Oct  4 10:03:34 ndm: Opkg::Manager: invalid initrc "/opt/etc/init.d/rc.unslung": no such file or directory, using /opt/etc/init.d/. 
[I] Oct  4 10:03:48 ndm: Cifs::ServerNQ: service started. 

Заходим на кинетик по ftp или cifs
Создаем папку install в entware и копируем в папку файл http://keenetic.zyxmon.org/files/ndms/z ... pselsf.ipk (пакет обновлен, первый вариант на всякий пожарный тут http://keenetic.zyxmon.org/files/ndms/z ... pselsf.ipk ) (файл, как и репозиторий, общий для всех моделей. Нужно сначала скачать).

Версия от 10.10.2015 (с правильной установкой времени для Entware приложений) - http://keenetic.zyxmon.org/files/ndms/z ... pselsf.ipk

Я делаg все по ftp:

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

[I] Oct  4 10:06:50 pure-ftpd: (?@10.0.0.158) [INFO] New connection from 10.0.0.158 
[I] Oct  4 10:06:50 ndm: Core::Server: started a new session. 
[I] Oct  4 10:06:50 pure-ftpd: (?@10.0.0.158) [INFO] anonymous is now logged in 
[I] Oct  4 10:06:50 ndm: Core::Session: client disconnected. 
[I] Oct  4 10:07:02 pure-ftpd: (anonymous@10.0.0.158) [NOTICE] /entware/install/zndms_1_mipselsf.ipk uploaded (3572692 bytes, 21218.63KB/sec). 
[I] Oct  4 10:07:16 pure-ftpd: (anonymous@10.0.0.158) [INFO] Logout. 

Перезагружаем кинетик. Дожидаемя в журнале строки

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

root Started dropbear from .

Заходим на кинетик по ssh, логин root, пароль zyxel
Пароль entware никак не связан с паролем кинетика.
Меняется он, если необходимо, двумя командами
passwd и savepw

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

~ # passwd
Changing password for root
New password:
Bad password: too weak
Retype password:
Password for root changed by root
~ # savepw

Далее пользуемся. Обновляем список пакетов

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

opkg update

устанавливаем что нужно. Например

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

opkg install mc


Для серьезных приложений потребуется iptables. Ни в прошивке, ни в репозитории entware такого пакета нет. Пришлось собрать. Без гарантий
http://keenetic.zyxmon.org/files/ndms/i ... pselsf.ipk

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

Сообщение Zyxmon » 04 окт 2015, 10:45

О проблемах (решаемых).

Некоторые бинарники entware имеют внутри жестко прописанные пути на приложения в папках /bin или /sbin, которых в прошивке нет. Рассмотрим openvpn на примере Makefile для сборки от NDMS (аналогичный и в Openwrt, и в Entware): https://github.com/ndmsystems/packages/ ... n/Makefile

В строках 62-66 (по состоянию на 04.10) имеем

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

CONFIGURE_VARS += \
	IFCONFIG=/sbin/ifconfig \
	ROUTE=/sbin/route \
	IPROUTE=/usr/sbin/ip \
	NETSTAT=/sbin/netstat

Собранный бинарник попробует запустить /sbin/route или /sbin/ifconfig для tun/tap интерфейса, не сможет этого сделать и завершит сообщение с ошибкой вида

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

Sun Oct  4 05:36:18 2015 /sbin/ifconfig tun0 10.0.0.177 netmask 255.255.255.240 mtu 1500 broadcast 10.0.0.191
Sun Oct  4 05:36:18 2015 Linux ifconfig failed: could not execute external program
Sun Oct  4 05:36:18 2015 Exiting due to fatal error 


Решение вроде напрашивается.
1. Изменить Makefile и строки 63-66. Прописать там правильные пути, начинающиеся с /opt. Для некоторых приложений сделать патчи, меняющие захардкоденные пути. Вот пересобранный вариант openvpn - http://keenetic.zyxmon.org/files/ndms/o ... pselsf.ipk
Этот вариант запускается без проблем. Работу openvpn проверю на следующей неделе.
2. Запускать entware в chroot среде (не хотелось бы).
3. Уговорить разработчиков прошивки сделать символические ссылки в /bin и /sbin на бинарники в /opt/bin и /opt/sbin. Таких ссылок нужно немного. Пока найдены две на route и ifconfig. Часто используется /sbin/sendmail - но это уже лишнее. Сделали же разработчики ссылку: /lib/ld-uClibc.so.0 -> /opt/lib/ld-uClibc.so.0 (на мой взгляд абсолютно лишнюю).


Может быть кто предложит другие варианты. Может Александр Рыжов что придумает. Именно он разрабатывает и отвечает за Entware на mipsel платформе.
Вот 4й вариант (с openvpn) - добавить в net-tools бинарник route (он в Openwrt не включается) и сделать openvpn зависимым от net-tools-ifconfig и net-tools-route. При этом изменить пути при сборке openvpn.

Dr.Acid
Сообщения: 140
Зарегистрирован: 26 авг 2015, 22:46

Сообщение Dr.Acid » 04 окт 2015, 19:12

ИМХО, конечно-же, но я за 1-ый вариант(причем, для всех таких пакетов). Не должно быть завязок на /bin /sbin приложения, только на /opt/bin, /opt/sbin и т.д. Там уже можно сделать симлинки на /bin (если проги есть в прошивке) или сами проги положить.
Вариант 3 выглядит глуповато: Сегодня уговорим(может) - сделают, а завтра что-нибудь ещё появиться... Считаю, разработчики и так уже сделали то, что от них требовалось ;)

Zyxmon, выражаю признательность за "прикрут" Entware к NDMS v2, жаль только, что, как и раньше, не вся линейка прошивок это поддерживает.

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

Сообщение Zyxmon » 04 окт 2015, 22:05

Dr.Acid писал(а):Источник цитаты Не должно быть завязок на /bin /sbin приложения, только на /opt/bin, /opt/sbin и т.д.

Только в NDMS и Андроиде нет /sbin/ifconfig и /sbin/route. Усложнять установку во всех случаях проверками и созданием симлинков не хотелось бы. Заставлять устанавливать пользователей с нормальным busybox еще и Entware вариант (именно там /opt/sbin/ifconfig и /opt/sbin/route) не стоит.
Поэтому вариант номер 5. Для таких извратных случаев поддерживаются две архитектуры. Более приоритетная архитектура ndms и содержит openvpn, который использует /opt/sbin/ifconfig и /opt/sbin/route. В версии ndms busybox в /opt устанавливается в самом начале. (Это как пример).


PS Упростил и сделал более надежной инициализацию Entware на ndms. В выложенном варианте могли быть проблемы с созданными через морду юзерами. Если других замечаний не будет - завтра выложу обновленный начальный установщик.


Вернуться в «Entware/Qnapware/Optware/Zyxware - обсуждаем репозитории пакетов»

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

Всего 1 посетитель :: 0 зарегистрированных, 0 скрытых и 1 гость (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (121) здесь было 18 май 2016, 18:19

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