Установка Entware-3x на Android

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

Сообщение Zyxmon » 19 июл 2017, 15:22

kaztost писал(а):Источник цитаты Можно расширить функционал Universal Autocontrol

Слона то я и не приметил :roll: Если я правильно понял, то этого достаточно. Если будут "исходники", гляну и заменю entware-ng на entware-3x (а лучше просто entware - универсальнее). Значит, если поставить и настроить Universal Autocontrol, то init.d или su.d уже не нужны?

kaztost
Сообщения: 25
Зарегистрирован: 16 июл 2017, 23:29

Сообщение kaztost » 19 июл 2017, 16:00

Ну как-бы это прожка (по сути состряпанная на коленке) и задумывалась как универсальная. От etntware-ng там только предустановленные пути выполнения скриптов, которые легко меняются прямо в интерфейсе программы. Сегодня выложу в ту же Яндекс папку этот профиль (он в старом телефоне дома). Может кто-нибудь интерфейс усовершенствует.

Я не скажу, что init.d/su.d/init.rc не нужны (по любому су-демон запускается и что-то все равно делает), но многих действительно устроит более простой вариант загрузки через сам андроид.

kaztost
Сообщения: 25
Зарегистрирован: 16 июл 2017, 23:29

Сообщение kaztost » 19 июл 2017, 17:05

Выложил проекты (*.prj.xml) в той же папке. Перед экспортированием Universal Autocontrol в apk требуется активировать профиль, а после импорта наоборот, деактивировать, чтобы не получить двойное срабатывание после перегрузки. После экспортирования Entware Dropbear Installer в apk нужно впихнуть туда архив с пакетами и скриптами (как в выложенном apk) и переподписать apk-архив. Я подписывал вот этим.

kaztost
Сообщения: 25
Зарегистрирован: 16 июл 2017, 23:29

Сообщение kaztost » 19 июл 2017, 19:55

kaztost писал(а):Источник цитаты (stop; your commands; start)&

Протестировал выполнение таскером скрипта

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

(stop; date>/sdcard/test;sleep 5;date>>/sdcard/test;start)&

при событии Device Shutdown на двух устройствах.

На пятом андроиде все работает как надо (если игнорировать странные и неожиданные изображения на экране). При штатном выключении выключается через 5 секунд. При штатной перегрузке перегружается.

На 4.2.2 срабатывает только stop, убивающий вызвавший его шелл. Пробовал вариант

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

(date>/sdcard/test;sleep 5;date>>/sdcard/test;start)&
stop

- аналогично. Главная причина - здесь нет su-демона. Таскер и его недавние потомки, видимо, убиваются вместе с зиготой . Но ssh-сервер, запущенный тем же таскером при загрузке, остается жить и работает. На 4.2 тоже бы все работало, если бы рут был клиент-серверный.

В общем, на андроиде 4.3 или новее отложенное выключение должно работать. Но я бы советовал применять его только по мере необходимости. Обычные задачи успеют выполниться до выключения без всяких stop и start (у меня на телефоне скрипт прекращает работу через 7 секунд). Вот если только отбекапить данные на сервер надо, или предотвратить немедленное выключение телефона его похитителем (а самому выключать с помощью хитрой кнопки).

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

Сообщение Zyxmon » 21 июл 2017, 08:11

kaztost писал(а):3. Использовать симлинки /dev/loopN->/dev/block/loopN?

Только сейчас дошли руки проверить. Работает. На этом способе и остановлюсь. После проверки Universal_Autocontrol напишу, как самому образы делать и выложу готовые образы (Entware и Entware+Jessie) со скриптами для ознакомления.

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

Сообщение Zyxmon » 22 июл 2017, 14:30

Теперь о Universal_Autocontrol - не знаю, работает или нет!!!
Поставил, задал пути к трем скриптам (Autostart Command, Start Command и Stop Command). В скрипты добавил echo для проверки. Autostart и Start работают, Stop - непонятно (следов echo нет, заменил на touch - аналогично), но в реальной ситуации (вызов `rc.unsung stop` - остановка сервисов Entware) похоже работает.
Поставил Tasker, создал задание на выключение - все работает включая echo. Создал свое Baby App на основании задания - не работает от слова никак.
Как дальше проверять - пока не знаю.
Буду считать, что Universal_Autocontrol работает и напишу инструкцию. Дальше дело пользователей

kaztost
Сообщения: 25
Зарегистрирован: 16 июл 2017, 23:29

Сообщение kaztost » 25 июл 2017, 08:27

Zyxmon писал(а):Источник цитаты Stop - непонятно (следов echo нет, заменил на touch - аналогично)

Подозрительно все как-то. А скрипт через su вызывается? Вообще, программа заточена под рут. У нее самой нет разрешений писать на карту памяти, так что без рута писать она может только в с свой "home" /data/data/entware.universal.autocontrol/. Поэтому для выполнения надо вызывать скрипт через

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

su -c "sh /dir/file.sh"

или

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

su -c "/dir/file.sh"

(в случае выставления прав на выполнение).

kaztost
Сообщения: 25
Зарегистрирован: 16 июл 2017, 23:29

Сообщение kaztost » 25 июл 2017, 08:33

В папке выложил новую версию 1.2 Universal Autocontrol с поддержкой выполнения скриптов при выключении/перегрузке. По дефолту программа выполняет скрипт /data/local/entware-ng/onshutdown.sh, который необходимо самому создать или изменить путь в меню OnShutdown Command.

И еще небольшое замечание, если какой-то скрипт Autostart/Start/Stop/OnShutdown не нужен вообще, то в соответствующем пункте меню можно оставить ровно один пробел. В силу особенностей работы таскера пустая строка не будет принята.

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

Сообщение Zyxmon » 25 июл 2017, 09:11

kaztost писал(а):Источник цитаты Подозрительно все как-то. А скрипт через su вызывается? Вообще, программа заточена под рут.

Да, через su. Если нажать кнопку Stop - все работает. При включении скрипты mount и start срабатывают "в самом конце загрузки" - это видно по всплывающему сообщению SuperSU.
Может я неправильно понял работу Universal Autocontrol, и stop автоматически при выключении и ребуте не должен срабатывать? Тогда версия 1.2 поможет, позже проверю.

kaztost
Сообщения: 25
Зарегистрирован: 16 июл 2017, 23:29

Сообщение kaztost » 25 июл 2017, 09:23

Zyxmon писал(а):Источник цитаты При включении скрипты mount и start срабатывают "в самом конце загрузки" - это видно по всплывающему сообщению SuperSU.

Start/Stop предназначены только для ручного включения и выключения. Но если нажать на Stop, то действие Start при следующей загрузке не будет выполняться. А если нажать на Start, то наоборот, будет. Но выполнение Autostart будет происходить в любом случае, если только автостарт явно не деактивирован в меню. То же самое касается OnShutDown.


Вернуться в «Entware на Android»

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

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

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