Lake I - не мышонок, не лягушка, а неведома зверушка

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

Сообщение Zyxmon » 03 мар 2019, 17:23

угрюмый писал(а):Источник цитаты Пакеты установить можно, но только те, которые имеют поддержку ядра, например ...

Это естественно, что поддержка ядра в пакетах собирается параллельно с ядром.
Сейчас же репозиторий с пакетами по умолчанию в стоковом Openwrt не указан, можно (не пробовал) через web конфигуратор добавить (там предлагаются, но закомментированные репы), можно добавить репозиторий из темы по zidoo с 4pda (пока живой).
Entware хочу поставить, просто как автор Entware. Сравнение с openwrt тут - http://www.zyxmon.org/2017/08/16/ustana ... deopenwrt/

Поскольку ядро у Lake для 64-битных arm с поддержкой 32 битных приложений, то буду устанавливать 64 битный вариант aarch64. Этот вариант чуть быстрее. Но будет работать и 32 вариант Entware.
Ситуация такая (ядро 4.1.17 общее для Android и Openwrt) - в android бинарники 32 разрядные, в openwrt - 64 разрядные.

Entware будет устанавливаться в Android в нем есть доступ к всем файлам прошивки. Можно будет покопаться, починить. Еще легче - поломать.

kaztost писал(а):Источник цитаты В Entware больше пакетов. Там сейчас OpenWRT на каком libc? UClibc или musl? Entware на glibc, у него совместимость лучше.

В Entware пакетов меньше, но есть такие (как раз интересные, о которых просили), которых нет в Openwrt. Недавно собрали qBittorent, на НАСе с RTL1295 и 2 ГБ рам вполне себе быстр и стабилен, будет, скорее всего, и тут работать.

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

Сообщение Zyxmon » 03 мар 2019, 17:55

Это уже рабочий вариант
В прошивках для "лейки" нет поддержки скриптов в init.d (нет и su.d). Можно, конечно, поставить Uni-init Universal_Init.d_Support - пишут, что работает.
Настоящие джедаи не ищут обходных путей, они будут реализовывать поддержку init.d сами на системном уровне, и еще кое-что подкрутят на системном уровне.
Есть такой `# Init.d enabler by ALEXNDR (_alexndr @ XDA)`, который часто распространяется в виде установщика для TWRP. У нас нет TWRP, мы знаем, какие файлы у нас есть, а каких нет и многое другое. Поэтому ниже предлагается упрощенный вариант. Он основан на замене бинарника демона (службы) debuggerd на скрипт, который выполнит нужную нам работу и потом запустит демона debuggerd.

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

#!/system/bin/sh

# Init.d enabler by Zyxmon. All credits go to ALEXNDR (_alexndr @ XDA) and his variant
mount -o rw,remount /system

BOOTFILE='/system/bin/debuggerd'

if [ ! -f /system/bin/debuggerd_real ] ; then
            mv -f $BOOTFILE /system/bin/debuggerd_real
            echo "#!/system/bin/sh" > $BOOTFILE
fi

echo "# Init.d support" >> $BOOTFILE
echo 'mount -o rw,remount /system' >> $BOOTFILE
echo 'chmod 777 /system/etc/init.d' >> $BOOTFILE
echo 'chmod 777 /system/etc/init.d/*' >> $BOOTFILE
echo 'mount -o ro,remount /system' >> $BOOTFILE
echo 'ls /system/etc/init.d/* 2>/dev/null | while read xfile ; do eval "/system/bin/sh $xfile" ; done' >> $BOOTFILE
echo '/system/bin/debuggerd_real $@' >> $BOOTFILE

chown 0:2000 $BOOTFILE
chmod 755 $BOOTFILE

mkdir -p /system/etc/init.d

echo "#!/system/bin/sh" > /system/etc/init.d/00test
echo "# Init.d test" >> /system/etc/init.d/00test
echo 'echo "Init.d is working !!!" > /data/initd_test.log' >> /system/etc/init.d/00test
echo 'echo "excecuted on $(date +"%d-%m-%Y %r")" >> /data/initd_test.log' >> /system/etc/init.d/00test

echo "#!/system/bin/sh" > /system/etc/init.d/00SuperSUDaemon
echo "/system/xbin/daemonsu --auto-daemon &" >> /system/etc/init.d/00SuperSUDaemon

chown 0:0 /system/etc/init.d
chown 0:0 -R /system/etc/init.d/*
chmod 777 /system/etc/init.d
chmod 777 -R /system/etc/init.d/*
mount -o ro,remount /system
 


Скрипт проверен, работает. После перезагрузки бокса в файле `/data/initd_test.log` будет инормация о том, что скрипт сработал и время перезагрузки.
PS Попытался максимально упростить скрипт, для конкретной заводской прошивки. Скорее всего будет работать и на других прошивках и модах.
PPS В init.d добавлен скрипт, в котором запускается `/system/xbin/daemonsu --auto-daemon &` - это фактически supersu (без gui), он позволит Entware "видеть" файловую систему Android.

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

Сообщение kaztost » 03 мар 2019, 18:14

Zyxmon, честно говоря мне не совсем понятно, что за фетиш такой ставить init.d именно в системный раздел. Ну ладно. А так необходимо проверить всесильность контекста SELinux этого debuggerd. Иначе скрипты не будут отрабатывать.

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

Сообщение Zyxmon » 03 мар 2019, 18:48

kaztost писал(а):Источник цитаты этого debuggerd

Думаю можно и другую службу для этого использовать, любую из этих (конкретно для Lake I). Скорее всего debuggerd просто наличиствует на разном железе. Поэтому его и выбрали.

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

 3720 root      3072 S    /system/bin/lmkd
 3721 1000      2956 S    /system/bin/servicemanager
 3722 1000      107m S<   /system/bin/surfaceflinger
 3723 root      9032 S    /system/bin/ALSADaemon
 3724 1000      5692 S    /system/bin/settingsproxy
 3731 root      3036 S    /system/bin/sh
 3733 root     15708 S    /system/bin/netd
 3734 root      3100 S    /system/bin/debuggerd
 3736 1019     13872 S    /system/bin/drmserver
 3737 1013     99.6m S    /system/bin/mediaserver
 3738 root      2752 S    /system/bin/installd

PS К системному разделу все привыкли.... Я знаю, что есть и другие решения....

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

Сообщение kaztost » 03 мар 2019, 19:11

Ну-ну, любую службу :D это же не android 4.2

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

Сообщение Zyxmon » 03 мар 2019, 20:23

kaztost писал(а):Источник цитаты Ну-ну, любую службу это же не android 4.2

Я не спец в Android. Но идея же тривиальная - в initramfs/ramdisk прописаны запускаемые службы. Пусть раздел зашифрован и недоступен. Берем любую службу, которая запускается, подменяем бинарник на скрипт/бинарник, который делает нужную работу, а потом запускает переименованный бинарник службы. Если нет контроля за целостностью служб (файлов), то все сработает. Если есть - то пойдем обходным путем.
В изначальном варианте `# Init.d enabler by ALEXNDR (_alexndr @ XDA)` подмена debuggerd - последнее, что пробует сделать скрипт. Но других вариантов внедрения (с точки зрения скрипта) в Lake I нет.

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

Сообщение kaztost » 03 мар 2019, 21:09

Zyxmon, да, идея тривиальная и старая. Если работает - то отлично. Под работает - я понимаю запуск скриптов с высшими полномочиями, позволяющих плевать на SELinux и прочие ограничения

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

Сообщение Zyxmon » 03 мар 2019, 21:21

В теме по Lake I на 4pda творится полный беспредел. Посты трутся, юзеры банятся. Создается впечатление, что всех хотят из темы выгнать. Такого модераторства я никогда и нигде не видел. А я сам был модератором на IXBT около 10 лет, знаю, что это такое. Больше писать в ней не буду.
На форуме 4pda много полезной информации, но она тонет в море дерьма, которое модераторы не расчищают. В общем детский сад, штаны на лямках.

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

Сообщение kaztost » 03 мар 2019, 21:39

Zyxmon, так автозагрузка выполняется или нет?

P.S. Сравнили хобота и 4pda. На первом более менее аудитория адекватная, ибо там школоте не так интересно. А смартфоны - у каждого. Ну и модераторы из той же аудитории вырастают, кто чуть опыта наберется. А держателям сайта, чтобы модера не творили, главное, чтобы совсем все в порнуху не выродилось.

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

Сообщение Zyxmon » 03 мар 2019, 22:44

kaztost писал(а):Источник цитаты так автозагрузка выполняется или нет?

Еще не проверял. Создавал образ Entware свежий (тут долОв минут на 15). Выложу скоро, но не уверен, что он кому то без инструкций нужен.

Вот он, образ - http://android.zyxmon.org/files/aarch64.rar


Вернуться в «Другое оборудование»

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

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

Сейчас этот форум просматривают: CommonCrawl [Bot] и 0 гостей