Site Tools


software:android

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
software:android [2020/09/08 01:09]
– [Для старых систем] root
software:android [2021/12/03 18:36]
– [Авто установка приложений] root
Line 52: Line 52:
 Из F-Droid устанавливаем: Из F-Droid устанавливаем:
   * Terminal Emulator   * Terminal Emulator
-  * Ghost Commander+  * Ghost Commander / Material Files
   * AnySoftKeyboard   * AnySoftKeyboard
   * BusyBox   * BusyBox
  
 Заходим в BusyBox и инсталлируем.\\ Заходим в BusyBox и инсталлируем.\\
-Если произошла ошибка - скорее всего Android 9+, в нём нет отдельно точки монтирования /system и оно просто часть /, поэтому придётся править скрипты BusyBox.\\ +\\ 
-Используя Ghost Commander в файлах:\\+Если произошла ошибка - скорее всего Android 9+, в нём нет отдельно точки монтирования /system и оно просто часть.\\ 
 +Есть альтернативный пакет BusyBox в F-Froid с иконкой duck, он не требует дополнительных действий.\\ 
 +Ручное исправление: используя Ghost Commander в файлах:\\
 **/data/data/ru.meefik.busybox/files/scripts/install.sh** \\ **/data/data/ru.meefik.busybox/files/scripts/install.sh** \\
 **/data/data/ru.meefik.busybox/files/scripts/remove.sh** \\ **/data/data/ru.meefik.busybox/files/scripts/remove.sh** \\
Line 140: Line 142:
 Информация больше для справки, и на случай если потребуется искать способ запуска без SuRoot/Magisk.\\ Информация больше для справки, и на случай если потребуется искать способ запуска без SuRoot/Magisk.\\
  
 +
 +=== Поиск мест для автозапуска ===
 +Скрипт для поиска возможных скриптов откуда можно делать автозапуск:
 +<code>dmesg | grep "init: cannot find" | sed -e "s|.*cannot find '||" | sed -e "s|', disabling '.*||"</code>
  
  
-=== Для старых систем ===+=== Andriod 4 и младше ===
 До 5 андройда в файлах /system/bin/install-recovery.sh или /system/etc/install-recovery.sh: До 5 андройда в файлах /system/bin/install-recovery.sh или /system/etc/install-recovery.sh:
 <code> <code>
Line 161: Line 167:
  
  
-== Samsung SM-J120F ==+=== Samsung SM-J120F ===
 В SM-J120F (андройд 5.1.1) не получилось найти способа чтобы сразу запускать стааторвыйе скрипты entware, все попытки обрывались на том, что не хватало прав, а su не работал из за ограничений SeLinux - не мог связатся со своей службой чтобы повысить права.\\ В SM-J120F (андройд 5.1.1) не получилось найти способа чтобы сразу запускать стааторвыйе скрипты entware, все попытки обрывались на том, что не хватало прав, а su не работал из за ограничений SeLinux - не мог связатся со своей службой чтобы повысить права.\\
 Пришлось делать запуск через magisk, разместив файл /data/adb/service.d/entware.sh, который просто запускает optstart.sh. \\ Пришлось делать запуск через magisk, разместив файл /data/adb/service.d/entware.sh, который просто запускает optstart.sh. \\
Line 169: Line 175:
   * чтобы после очистки /data сохранить автозапуск потребовалось добавить скрипт [[http://www.netlab.linkpc.net/download/software/entware/opt/bin/setup_autorun_legacy.sh|/opt/bin/setup_autorun_legacy.sh]] в найденные места автостарта, как оказалось прав доступа там хватает для работы с /data.   * чтобы после очистки /data сохранить автозапуск потребовалось добавить скрипт [[http://www.netlab.linkpc.net/download/software/entware/opt/bin/setup_autorun_legacy.sh|/opt/bin/setup_autorun_legacy.sh]] в найденные места автостарта, как оказалось прав доступа там хватает для работы с /data.
  
-Скрипт setup_autorun_legacy.sh атоматически определяет что он запущен на samsung и в этом случае переносит busybox в в/opt.+Скрипт setup_autorun_legacy.sh атоматически определяет что он запущен на samsung и в этом случае переносит busybox в /opt.
  
 Чтобы скрипт запускался автоматически нужно в начало файла /system/etc/init.sec.boot.sh (после shebang) добавить: Чтобы скрипт запускался автоматически нужно в начало файла /system/etc/init.sec.boot.sh (после shebang) добавить:
Line 178: Line 184:
 Затем выполнить: Затем выполнить:
 <code> <code>
 +chmod +x /system/etc/init.sec.boot.sh
 ln -sf /system/opt/bin/setup_autorun_legacy.sh /system/bin/load_amber_modules.sh ln -sf /system/opt/bin/setup_autorun_legacy.sh /system/bin/load_amber_modules.sh
 ln -sf /system/opt/bin/setup_autorun_legacy.sh /system/bin/sysmon ln -sf /system/opt/bin/setup_autorun_legacy.sh /system/bin/sysmon
Line 185: Line 192:
  
  
-=== rootagent ===+ 
 +=== Samsung SM-G531F Galaxy Grand Prime === 
 +<code> 
 +ln -s /system/opt/bin/optstart.sh /system/bin/insthk 
 +ln -s /system/opt/bin/optstart.sh /system/bin/sysmon 
 +</code> 
 +Первым стартует sysmon, при этом у него ограниченный SeLinux контекст, которого достаточно чтобы запустить все что нужно для entware, однако позднее есть ограничения по работе с /system через ssh.\\ 
 +Поэтому в скрипт [[http://www.netlab.linkpc.net/download/software/entware/opt/bin/optstart.sh|/opt/bin/optstart.sh]] был добавлен блок кода, который проверяет что магиск установлен и если да, то когда скрипт выполняется не под SeLinux контекстом magisk он перезапускает сам себя через su и продолжает работу уже под SeLinux контекстом magisk. 
 + 
 + 
 + 
 +=== HiScreen Spider и прочие на qualcom ===
 Сработает только если есть служба rootagent. Сработает только если есть служба rootagent.
 <code>echo '' >> /system/build.prop <code>echo '' >> /system/build.prop
Line 193: Line 211:
 ln -s /system/opt/bin/optstart.sh /system/etc/init.qcom.rootagent.sh ln -s /system/opt/bin/optstart.sh /system/etc/init.qcom.rootagent.sh
 </code> </code>
- 
- 
- 
-=== Поиск мест для автозапуска === 
-Скрипт для поиска возможных скриптов откуда можно делать автозапуск: 
-<code>dmesg | grep "init: cannot find" | sed -e "s|.*cannot find '||" | sed -e "s|', disabling '.*||"</code> 
  
  
Line 284: Line 296:
 ==== Исправление разрешений ==== ==== Исправление разрешений ====
 После копирования настроек из **/data/data** приложения с ними работать не будут тк не правильно выставлены разрешения, владелец и SeLinux атрибуты.\\ После копирования настроек из **/data/data** приложения с ними работать не будут тк не правильно выставлены разрешения, владелец и SeLinux атрибуты.\\
 +См скрипт: [[http://www.netlab.linkpc.net/download/software/entware/opt/bin/fix_datadata_perms.sh|/opt/bin/fix_datadata_perms.sh]]
  
  
Line 319: Line 331:
 Из этих папок приложения устанавливаются сами и могут быть полностью удалены пользователем: Из этих папок приложения устанавливаются сами и могут быть полностью удалены пользователем:
   * **/system/vendor/operator/app**   * **/system/vendor/operator/app**
 +  * **/system/preload/**
 +  * **/prism/preload/SER/hidden_app**
   * **/system/product/preload/SER/hidden_app** (SER = Россия; специфично для Samsung; не работает после удаления приложений Samsung из /system/priv-app)   * **/system/product/preload/SER/hidden_app** (SER = Россия; специфично для Samsung; не работает после удаления приложений Samsung из /system/priv-app)
   * **/system/csc/SER/system/app** (аналогично предыдущему, для андройд 7 и возможно младше)   * **/system/csc/SER/system/app** (аналогично предыдущему, для андройд 7 и возможно младше)
Line 357: Line 371:
 /data использовался хак с перемонтированием файловой системы: /data использовался хак с перемонтированием файловой системы:
 <code>/system/bin/mount -o rw,bind /data/opt /opt</code> <code>/system/bin/mount -o rw,bind /data/opt /opt</code>
 +Либо можно использовать симлинк, если файлы лежать за пределами /data.\\
 +Подробнее: [[https://stackoverflow.com/questions/36674727/permission-denied-on-exec-from-a-binary-running-as-root|stackoverflow]], [[https://github.com/termux/termux-packages/issues/3672|termux-packages]]
 +
 +
  
  
software/android.txt · Last modified: 2023/11/11 21:04 by root