run-parts в базовом пакете entware был виде скрипта

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

Сообщение ZigZag » 10 апр 2021, 14:14

Zyxmon писал(а):На андроиде /system и /vendor по идее почти всегда readonly.
Судя по выхлопу strace, вызванный init провёл перемонтирование или что-то типа того, так что в моём случае RO и RW роли не играло. Особенно учитывая, что я перемонтировал /system в rw для правки скриптов. Если бы там что-то радикально перезаписалось, система бы не прогрузилась бы в исходном виде (по крайней мере внешне). Так что мне ещё судя по всему повезло.
Если вдруг что найдете - пишите.
ОК ;)
Keenetic Omni II [v2.13.C.0.0-1]; Zyxel Keenetic [V1.00(BFW.4.4)D0]

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

Сообщение ZigZag » 16 апр 2021, 21:06

Итак, о выявленных последствиях.

Инициализированный run-parts init попытался получиить доступ к блокам /protect_s и /protect_s и не добившись этого произвёл их форматирование. Как оказалось. эти блоки на медиатеке отвечали за IMEI. Бэкапа этих блоков по иронии у меня не оказалось, хотя я регулярно делал бэкапы через рекавери (не делал их убогий CWM как оказалось, плюс я думал что забекапил имеи слив дамп /dev/nvram). Проблема в первое время прошла мимо меня т.к. я уже долгое время использовал смарт без симки. Но была после запуска init'a одна проблема, которая сильно стала осложнять жизнь. Резко начала садиться батарея. Начав выяснять, в чём дело, во время беглого изучения логов logcat было замечено, что активно молотит некий сервис отвечающий за работу NVRAM и работу с имеями в частности. Именно так я и вышел на "отвалившиеся" имеи. А начавшая просаживаться ьатарея была лишь следствие этого судя по всему.

Насколько я понял, для восстановления имеев по идее достаточно было бы развернуть бэкап этих блоков (которого нет). На похожие грабли уже наступал некий abdullahi_ который запустил /init на похожем в плане программных потрохов смартфоне
So it all goes like this, i just accidentally execute the init binary, in seconds all i know is my phone rebooting itself with unknown baseband. surprise to me , what goes wrong?. so i went after the su log file to read the log and i was able to verify what happen, when init tries to creates the radio folder (/protect_f and /protect_s) which contains the radio files, it founds out that it was busy so it delete the former one to create the new one deleting the old one with the files but hopefully i've once backup the whole init and the radio folder to my sdcard . so all i have to do is copy the files (MP0D_000 and ST33A004 from the /protect_s/md/ directory that i copied ) to /protect_f/md/ directory , which automagically create another twin file of ST33A004 in /protect_s/md/ directory called ST33B004 and immediately my phone alerting that it has detected a network so all i do is to confirm by clicking ok. thatz all
с той лишь разницей, что у него был бэкап, а у меня его нет.

Как теперь восстанавливать имеи я ХЗ. Возможно через некий META режим, но это не точно. Хорошо бы для начала рубануть тот сервис, что сажает батарею, а там будет видно ...

upd: Судя по logcat'у и ps безостановочно молотил процесс ccci_fsd раз за разом респавнясь. Пока сменил права у бинарника /system/bin/ccci_fsd на 644 и вроде всё успокоиилось. Да, грубо, но если это сработает и батарея не будет высаживаться втрое быстрее чем раньше, пусть пока будет так.
Keenetic Omni II [v2.13.C.0.0-1]; Zyxel Keenetic [V1.00(BFW.4.4)D0]


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

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

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

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