Мой дневник

06.02.2015

“Нативная” прошивка recovery

Filed under: Uncategorized — sae762 @ 09:19

Получил новую мобилку, Lenovo p780. А MobileUncle ее не шьет… Вроде бы прошивает recovery, но при перезагрузке ничего не меняется. SP Flash Tool не вариант, так как ждет от мобилы коннекта, а в линуксе девайс появляется на 1 секунду вместе с устройством, ждать появления устройства эта программа не умеет. Возможно в будущем попробую сделать pipe.

Но прошить что угодно можно простой командой dd. Нужно только вычислить куда и сколько записать. Это оказалось довольно просто. Память на мобиле emmc, смотрим файл /proc/dumchar_info, находим запись “recovery 0x0000000000600000  0x0000000002780000   2   /dev/block/mmcblk0”. То есть recovery не монтируется как раздел, а лишь прописано на устройстве mmcblk0 начиная с адреса 0x2780000 и имеет длину 0x600000 байт. Переводим эти числа в десятичный вид (http://web2.0calc.com/), для скорости читать будем по килобайту, поэтому делим на 1024, получаем команду чтения рекавери:

dd if=/dev/block/mmcblk0 of=/data/local/tmp/recovery-old.img skip=40448 count=6144 bs=1024

Для записи нового рекавери соответственно

dd of=/dev/block/mmcblk0 if=/data/local/tmp/recovery-old.img seek=40448 count=6144 bs=1024

(обратите внимание, при чтении – skip, при записи – seek!)

Все. Перегружаемся в новое рекавери (например TWRP), и через него делаем все остальное. Лично мне понравилась прошивка Nexus 5, переход на CN-разметку делал этим скриптом, дело это не очень простое, внимательно в три прохода (то есть три раза из рекавери делать install, выбирать средний пункт – переход на CN разметку, и в нем каждый раз выбирать следующий шаг).

Всем успехов в прошивках.

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment