NDMS V2 + Entware
-
- Сообщения: 58
- Зарегистрирован: 29 сен 2015, 16:21
-
- Администратор
- Сообщения: 1911
- Зарегистрирован: 09 авг 2015, 15:33
Обновленный пакет начальной установки - http://keenetic.zyxmon.org/files/ndms/z ... pselsf.ipk
-
- Администратор
- Сообщения: 1911
- Зарегистрирован: 09 авг 2015, 15:33
Как и следовало ожидать, openvpn завелся на Экстре. Соединился, зашел в свою квартирную сеть. Веб-морда не очень tun интерфейс понимает, но соединение снаружи видит:
Есть правда проблемы с автозапуском. Предполагаю, что слишком рано развертывается Entware.
PS Extra в режиме точки доступа.
Есть правда проблемы с автозапуском. Предполагаю, что слишком рано развертывается Entware.
PS Extra в режиме точки доступа.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сообщения: 443
- Зарегистрирован: 12 авг 2015, 14:14
- Откуда: Смоленск
В порядке убывания предпочтений: 1, 3, 2.Zyxmon писал(а):Источник цитаты О проблемах (решаемых).
Некоторые бинарники entware имеют внутри жестко прописанные пути на приложения в папках /bin или /sbin, которых в прошивке нет.
...
Решение вроде напрашивается.
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 (на мой взгляд абсолютно лишнюю).
Первый вариант самый правильный, потому что надо стремиться к тому, чтобы не было никаких зависимостей от прошивки. Однако есть бинарники, сильно завязанные на текущее ядро, скажем, /usr/sbin/iptables. Есть смутное подозрение о том, что перечисленные ниже бинарники тоже могут быть в их числе:
Код: Выделить всё
CONFIGURE_VARS += \
IFCONFIG=/sbin/ifconfig \
ROUTE=/sbin/route \
IPROUTE=/usr/sbin/ip \
NETSTAT=/sbin/netstat
Мы можем собрать в Entware свои, но они не будут работать с ядром другой версии или хуже того (как с iptables), работать будут, но глючно.
Кстати, это одна из причин того, что в нашем тулчейне до сих используется kernel 2.6.22.
-
- Администратор
- Сообщения: 1911
- Зарегистрирован: 09 авг 2015, 15:33
Как я и предупреждал на известном сайте, принудительное задание LD_LIBRARY_PATH штука опасная. Именно некорректные переменные среды приводили к незапуску openvpn после загрузки. Хорошо еще, что /etc/profile не исполняется в интерактивном сеансе.
Тем, кто уже поставил Entware на NDMS следует в начале файла /opt/etc/init.d/rc.unslung добавить строку
На вский случай (на будущее) добавьте такую строку в начало скрытого файла /opt/root/.profile
"Установщик" с этими изменениями сделаю позже.
Тем, кто уже поставил Entware на NDMS следует в начале файла /opt/etc/init.d/rc.unslung добавить строку
Код: Выделить всё
LD_LIBRARY_PATH=""
На вский случай (на будущее) добавьте такую строку в начало скрытого файла /opt/root/.profile
Код: Выделить всё
export LD_LIBRARY_PATH=""
"Установщик" с этими изменениями сделаю позже.
-
- Сообщения: 58
- Зарегистрирован: 29 сен 2015, 16:21
вопрос по cron
установлен cron из entware, у меня разница с системным временем +7 часов, соответственно установлена с синхронизация с сервисом точного времени и выбран свой часовой пояс. Но проблема следующая, т.к cron синхронизирует время до того момента как отработает сервис времени, то в логе присутствуют два вида событий: одни системные с правильным временем вторые под root c временем -7 часов, соответственно все скрипы запускаемые по крону отрабатывают не вовремя. Если ставлю отложенный запуск cron sleep 180 , то entware не запускается ошибка: Opkg::Manager: /opt/etc/init.d/rc.unslung: timed out.
На прошивке V1.11 + entware отложенный запуск cron работал.
установлен cron из entware, у меня разница с системным временем +7 часов, соответственно установлена с синхронизация с сервисом точного времени и выбран свой часовой пояс. Но проблема следующая, т.к cron синхронизирует время до того момента как отработает сервис времени, то в логе присутствуют два вида событий: одни системные с правильным временем вторые под root c временем -7 часов, соответственно все скрипы запускаемые по крону отрабатывают не вовремя. Если ставлю отложенный запуск cron sleep 180 , то entware не запускается ошибка: Opkg::Manager: /opt/etc/init.d/rc.unslung: timed out.
На прошивке V1.11 + entware отложенный запуск cron работал.
-
- Администратор
- Сообщения: 1911
- Зарегистрирован: 09 авг 2015, 15:33
Они очень рано начинают инициализацию opkg:
Как видим службы Entware запускаются раньше их telnetd и cifs.
Могу ошибаться, но запуск initrc производится не в фоне, они ждут его окончания (проверю).
Попробуйте запускать cron из хука ndm/time.d (последний на https://github.com/ndmsystems/packages/ ... -Component )
Если используете rc.func - то смотрите:
Можно попробовать использовать скрипт обертку для cron и внутри нее поместить sleep. Sllep пойдет в фоне, и теоретически rc.unslung: timed out не должно быть.
Код: Выделить всё
[I] Oct 5 22:28:15 ndm: Opkg::Manager: /tmp/mnt/entware mounted to /tmp/mnt/entware.
[I] Oct 5 22:28:15 ndm: Opkg::Manager: /tmp/mnt/entware mounted to /opt/.
[I] Oct 5 22:28:15 ndm: Opkg::Manager: /tmp/mnt/entware initialized.
[I] Oct 5 22:28:15 ndm: Network::Interface::Switch: switch link up at port 3 (Switch0).
[I] Oct 5 22:28:15 ndm: Network::Interface::Switch: switch link up at port 2 (Switch0).
[I] Oct 5 22:28:15 ndm: Network::Interface::Switch: switch link up at port 1 (Switch0).
[I] Oct 5 19:28:15 dropbear[105]: Running in background
[I] Oct 5 19:28:15 root: Started dropbear from .
[I] Oct 5 19:28:15 root: Started openvpn from .
[I] Oct 5 22:28:15 telnetd: waiting for connections...
[I] Oct 5 22:28:15 wmond: WifiMaster0/AccessPoint0: (RT2860) STA(6c:fa:a7:14:1f:fd) had associated successfully.
[I] Oct 5 22:28:15 ndm: Core::Server: started a new session.
[I] Oct 5 22:28:16 ndm: kernel: br0: port 2(ra0) entering forwarding state
[I] Oct 5 22:28:16 ag: HTTP::ServerApp: ready.
Как видим службы Entware запускаются раньше их telnetd и cifs.
Могу ошибаться, но запуск initrc производится не в фоне, они ждут его окончания (проверю).
Попробуйте запускать cron из хука ndm/time.d (последний на https://github.com/ndmsystems/packages/ ... -Component )
Если используете rc.func - то смотрите:
Код: Выделить всё
$PREARGS $PROC $ARGS > /dev/null 2>&1 &
Можно попробовать использовать скрипт обертку для cron и внутри нее поместить sleep. Sllep пойдет в фоне, и теоретически rc.unslung: timed out не должно быть.
-
- Администратор
- Сообщения: 1911
- Зарегистрирован: 09 авг 2015, 15:33
Перезалил пакет начальной установки http://keenetic.zyxmon.org/files/ndms/z ... pselsf.ipk (исправление окружения: LD_LIBRARY_PATH при запуске сервисов).
-
- Сообщения: 58
- Зарегистрирован: 29 сен 2015, 16:21
Код: Выделить всё
Запуск cron через скрипт выдают ту же ошибку Opkg::Manager: /opt/etc/init.d/rc.unslung: timed out. Дальнейшие поиски привели к следующему: системное время не учитывает тайм-зону, поясняю к примеру в настройках роутера задана тайм зона +7 часов, в журнале роутера время, к примеру 13:58
вывод команды date
Код: Выделить всё
~ # date
Wed Oct 7 06:58:12 UTC 2015
Меняем дату через консоль на 4:00 в журнале роутера 11:00. Соответственно cron отрабатывает без учета тайм-зоны.
А вот вывод команды
Код: Выделить всё
~ # cat /etc/TZ
TZif▒jg▒^<bpBMTICTTZif2
▒▒▒▒V▒▒▒▒▒▒▒▒jg▒^<^<bLMTBMTICT
ICT-7
Возможно ли это как то исправить, задать правильную тайм-зону.
-
- Администратор
- Сообщения: 1911
- Зарегистрирован: 09 авг 2015, 15:33
Yura270972 писал(а):Источник цитаты Запуск cron через скрипт выдают
Я не могу угадать какую из двух доступных в Entware версий cron и через какой скрипт и где расположенный Вы запускаете. Пока это вроде не важно.
Подозреваю, что имеется небольшая недоработка прошивки (раньше консоли не было, а морда показывала время правильно). Предлагаю cron перевести на UTC (время со сдвигом). Рекомендую написать о проблеме с временем на keenopt.ru.
Вернуться в «Entware/Qnapware/Optware/Zyxware - обсуждаем репозитории пакетов»
Кто сейчас на конференции
Всего 7 посетителей :: 0 зарегистрированных, 0 скрытых и 7 гостей (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей