Установка Entware-ng на Андроид

kaztost
Сообщения: 223
Зарегистрирован: 17 июл 2017, 00:29

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

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

Кто на 4pda не зарегистрирован, то даю ссылку на Я-диск с apk-установщиками из той темы.

Еще раз про требования для установки Entware на андроидах.

1. Полный рут-доступ. Если не понятно, что это означает, рекомендую ознакомится с Механизмы функционирования рут-прав на Андроиде и How-To SU. Если рута нет или он кривой, то сперва надо установить SuperSU, освоиться, а затем, если разберетесь и захотите, можно удалить SuperSU, оставив рут-права только нужным сервисам, включая энтварный ssh-сервер. (Насколько я понял, SuperSU на данный момент является программой с закрытым кодом, выкупленной какой-то мутной компанией, поэтому я обхожусь менее популярными альтернативами).
2. Поддержка автозагрузки сервисов init.d. Если установлен SuperSU, то можно класть скрипты в /system/su.d/ или /su/su.d/. Ну или пользоваться программой Universal AutoControl или подобными, запускающими скрипты после полной загрузки андроида.
3. Нужно будет самому модифицировать раздел /system, добавив симлинк /system/etc/resolv.conf->/opt/tmp/resolv.conf, если apk-установщик не сможет это сделать. В последнее время Google закручивает гайки против модификации system. В крайнем случае можно попытаться изменить саму прошивку и залить модифицированную целиком, или применить еще какие-нибудь ухищрения. К сожалению, даже Entware-3x не снимает проблему отсутствия /etc/resolv.conf. Без этого файла Entware не сможет резолвить интернет-имена.

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

Сообщение Zyxmon » 25 июл 2017, 13:33

Зеркало файлов от kaztost - http://android.zyxmon.org/kaztost/

Аватара пользователя
ZigZag
Сообщения: 286
Зарегистрирован: 28 окт 2015, 04:43

Сообщение ZigZag » 09 окт 2017, 20:33

С entware на вёдрах дела не имел, так что хочу прокунсультироваться, дабы во время установки всё прошло по маслу. Если судить по этой http://www.zyxmon.org/2016/04/17/entware-ng-na-android/ и другим статьям, предварительная подготовка включает в себя создание симлинков /opt и /bin на каталоги во внутренний памяти (либо создание директорий+биндинг) + наличие в /bin симлинка /bin/sh на /system/bin/sh. Есть ещё какие-нибудь подводные камни, о которых стоило бы упомянуть перед установкой ?

Ну и до кучи объясните, чем entware-ng отлияается от entware-3x ?
Keenetic Omni II [v2.13.C.0.0-1]; Zyxel Keenetic [V1.00(BFW.4.4)D0]

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

Сообщение Zyxmon » 09 окт 2017, 22:32

ZigZag писал(а):Источник цитаты Есть ещё какие-нибудь подводные камни

Могут быть. Описаны, например, тут - http://www.zyxmon.org/2017/07/16/entwar ... -konspekt/
Все зависит от конкретного устройства и прошивки.
ZigZag писал(а):Источник цитаты Ну и до кучи объясните, чем entware-ng отлияается от entware-3x ?

Ну, Вы, блин, даёте! (С) Народный.
Скажем так - я не гарантирую работу Entware-ng после попытки обновления.

kaztost
Сообщения: 223
Зарегистрирован: 17 июл 2017, 00:29

Сообщение kaztost » 09 окт 2017, 23:29

Подводные камни всегда будут, андроид не совсем линукс. Скажем, некоторые пакеты еще /tmp любят во время работы, а его в андроиде тоже нет. Большинство из проблем решаемы, для этого и форум.

Отличия Entware-ng и Entware3x для андроида пока лично для меня, как для пользователя не очень существенны, за исключением требований к ядру. И я скажу так, Entware3x на андроиде отличается сильнее от Entware3x на роутере, чем от Entware-ng на том же андроиде.

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

Сообщение Zyxmon » 09 окт 2017, 23:50

kaztost писал(а):Источник цитаты И я скажу так, Entware3x на андроиде отличается сильнее от Entware3x на роутере, чем от Entware-ng на том же андроиде.

С программисткой точки зрения альтернативная установка Entware-3x на роутере эквивалентна установке Entware-3x на android. A Entware-ng на андроиде, некий экперимент, который не стал обновлять (для андроида), из этого эксперимента и родилась версия Entware-3x и для роутеров и для android. И эта версия _общая_ для android и других устройств. Ну а требование нового ядра позволило обновить некоторые пакеты, собрать новые по сравнению с Entware-ng.

Аватара пользователя
ZigZag
Сообщения: 286
Зарегистрирован: 28 окт 2015, 04:43

Сообщение ZigZag » 10 окт 2017, 08:38

Zyxmon писал(а):Ну, Вы, блин, даёте! (С) Народный.
Скажем так - я не гарантирую работу Entware-ng после попытки обновления.
Дык я не "варюсь" в этом котле и не знаю всех тонкостей эволюции репозитория :)

Мне казалось что ng самый новый (next generation жи), а оказывается 3x более новый. Если я всё верно понял, то было так: entware -> entware-ng -> entware 3x (тогда понятно, почему "3x"). В таком случае буду ставить последний.
kaztost писал(а): Подводные камни всегда будут, андроид не совсем линукс. Скажем, некоторые пакеты еще /tmp любят во время работы, а его в андроиде тоже нет. Большинство из проблем решаемы, для этого и форум.
ОК, /tmp и думаю ещё /var + /var/run ...
Keenetic Omni II [v2.13.C.0.0-1]; Zyxel Keenetic [V1.00(BFW.4.4)D0]

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

Сообщение Zyxmon » 10 окт 2017, 09:18

ZigZag писал(а):Источник цитаты Мне казалось что ng самый новый

Так прочтите, есть прикрепленные темы. Там все написано, в том числе и про ограничения, на установку. Entware-3x будет работать не везде.

kaztost
Сообщения: 223
Зарегистрирован: 17 июл 2017, 00:29

Сообщение kaztost » 21 окт 2017, 23:36

Выложил новую, но пока экспериментальную, версию оффлайн-установщика для Entware-ng для Андроид-устройств: ЯДиск. Основные особенности:
1. Подмена симлинка /etc, как описано здесь. Теперь установка и работа Entware совсем не требует изменений /system. Нарушения в работе андроида из-за подмены /etc пока не замечены. Но зато сама установка проходит без всяких патченных пакетов. Скрипт установки написан на основе стандартного установочного скрипта entware_install.sh. К нему добавлена установка busybox, dropbear и openssh-sftp-server.
2. При установке в /opt биндится директория /data/entware (а не более длинный путь /data/local/entware-ng) и установка пакетов по сути идет туда. Но если до запуска папка /opt уже есть, то биндиться ничего не будет, и установка пройдет в тот /opt, который есть. Предполагается, что пользователь примонтировал в /opt что-то свое и хочет произвести установку именно туда. При этом папка /data/entware все равно будет создана. Там в любом случае будут находиться папка android с симлинками для /etc и скрипты mount.sh, start.sh, stop.sh. Если монтировать в /opt свой раздел, первый файл требует соответствующего исправления.
3. При запуске андроида программа автоматически выполняет скрипты /data/entware/mount.sh и /data/entware/start.sh (в новых версиях андроида для этого необходимо в настройках разрешить автозапуск данной проге). Таким образом, одним нажатием кнопки Install произойдет установка Entware и запуск dropbear, причем после перегрузки все будет работать, как и ранее. Управлять запуском dropbear в этой программе нельзя. Если это не устраивает, нужно удалить эту прогу, установив вместо нее Universal Autocontrol (по ссылкам выше) или настроив автозапуск другими методами.

Если по каким-либо причинам не устраивает метод подмены /etc в автозапуске - нужно самостоятельно скопировать симлинки /etc/passwd, /etc/group, /etc/shells и /etc/resolv.conf в папку /system/etc и убрать строки

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

rm /etc
ln -s /data/entware/android/etc /etc

из /data/entware/mount.sh. Ну и после перезагрузки папку/data/entware/android можно целиком удалить.

Дефолтный пароль для root - 12345. Его простота подчеркивает тот факт, что его необходимо немедленно cменить после установки командой passwd.

kaztost
Сообщения: 223
Зарегистрирован: 17 июл 2017, 00:29

Сообщение kaztost » 26 янв 2018, 20:27

Проверил, в общем-то, очевидный способ установки и работы entware-ng (думаю с 3x все аналогично). В том случае, когда установка идет во внутреннюю память андроид-устройства, раньше монтировалось что-то типа "mount -o bind /data/entware /opt". Но также можно обойтись вместо этого симлинком /opt на /data/entware. Все будет нормально устанавливаться и работать с небольшими изменениями. Так, в passwd лучше указывать домашнюю директорию без симлинков (например, /data/entware/root), чтобы в prompt-е нормально отображалась тильда вместо домашней директории.

Главный плюс - не надо беспокоится о том, сможет ли андроид корректно размонтировать /data перед выключением, ну и вообще, по мне всегда лучше обойтись без mount, если не страдает функциональность.


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

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

Всего 3 посетителя :: 0 зарегистрированных, 0 скрытых и 3 гостя (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33

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