Как вытащить boot.img и recovery.img из Sony Xperia E4 Dual?

Я только начал интересоваться переносом пользовательского ПЗУ на устройство Android, и для этого мне требуется резервная копия / дамп boot.img и recovery.img моего устройства. У меня Sony Xperia E4 Dual (E2115).

Ниже приведены подробности о моем устройстве:

Сборка ядра: 24.0.B.5.14
Процессор: MT6582
Плата: arima82_w_s_kk
Версия Android: 4.4.4

/proc/думчар_инфо:

Part_Name   Size    StartAddr   Type    MapTo
preloader    0x0000000000080000   0x0000000000000000   2   /dev/misc-sd
mbr          0x0000000000080000   0x0000000000000000   2   /dev/block/mmcblk0
ebr1         0x0000000000080000   0x0000000000080000   2   /dev/block/mmcblk0p1
pro_info     0x0000000000300000   0x0000000000100000   2   /dev/block/mmcblk0
nvram        0x0000000000500000   0x0000000000400000   2   /dev/block/mmcblk0
protect_f    0x0000000000a00000   0x0000000000900000   2   /dev/block/mmcblk0p2
protect_s    0x0000000000a00000   0x0000000001300000   2   /dev/block/mmcblk0p3
seccfg       0x0000000000020000   0x0000000001d00000   2   /dev/block/mmcblk0
uboot        0x0000000000080000   0x0000000001d20000   2   /dev/block/mmcblk0
ta           0x0000000000200000   0x0000000001da0000   2   /dev/block/mmcblk0
ltalabel     0x0000000001000000   0x0000000001fa0000   2   /dev/block/mmcblk0p4
fotakernel   0x0000000001400000   0x0000000002fa0000   2   /dev/block/mmcblk0
bootimg      0x0000000001400000   0x00000000043a0000   2   /dev/block/mmcblk0
sec_ro       0x0000000000600000   0x00000000057a0000   2   /dev/block/mmcblk0p5
misc         0x0000000000080000   0x0000000005da0000   2   /dev/block/mmcblk0
logo         0x0000000000300000   0x0000000005e20000   2   /dev/block/mmcblk0
ebr2         0x0000000000080000   0x0000000006120000   2   /dev/block/mmcblk0
expdb        0x0000000000080000   0x00000000061a0000   2   /dev/block/mmcblk0
tee1         0x0000000000080000   0x0000000006220000   2   /dev/block/mmcblk0
tee2         0x0000000000080000   0x00000000062a0000   2   /dev/block/mmcblk0
apps_log     0x0000000000800000   0x0000000006320000   2   /dev/block/mmcblk0p6
android      0x0000000083400000   0x0000000006b20000   2   /dev/block/mmcblk0p7
cache        0x000000000c800000   0x0000000089f20000   2   /dev/block/mmcblk0p8
usrdata      0x000000013a060000   0x0000000096720000   2   /dev/block/mmcblk0p9
bmtpool      0x0000000000000000   0xffffffffff3f00a8   2   /dev/block/mmcblk0
Part_Name:Partition name you should open;
Size:size of partition
StartAddr:Start Address of partition;
Type:Type of partition(MTD=1,EMMC=2)
MapTo:actual device you operate

Насколько я знаю, bootimg - это то, что я ищу. Я преобразовал размер и начальный адрес из шестнадцатеричного в десятичный и попытался сбросить его, используя:

dd if=/dev/block/mmcblk0 of=/sdcard/boot.img bs=4096 skip=17312 count=5210

Но когда я пытаюсь распаковать его с помощью unpackbootimg или других инструментов для распаковки, я получаю сообщение об ошибке, указывающее, что boot.img не является допустимым загрузочным образом. Что мне здесь не хватает?

Я видел в Интернете, что образы системы, созданные с помощью dd , недействительны, но это не относится к образам загрузки и восстановления, и люди успешно сбрасывали эти разделы, используя этот метод. Я использую Ubuntu и хотел бы знать, есть ли другие способы добиться этого.

Можете ли вы добавить вывод ls -l /dev/block/platform/*/by-name/?
@MatthewRead на моем устройстве нет такого файла или каталога.
Хм, может быть, проверить, есть ли что-то подобное --find /dev -name "by-name"
echo $((0x0000000001400000/4096))= 5120нет5210

Ответы (2)

Используйте этот инструмент для извлечения из ПК
MTK Droid Tools Latest.zip

И для Android. Используйте инструмент резервного копирования, такой как Flashify в PlayStore.

Ссылка на Flashify в PlayStore

и перейдите к резервным копиям, резервному копированию ядра и восстановлению.
Затем перейдите во внутреннее хранилище> android> com.cgollner.flashify> файлы> резервные копии и скопируйте файлы …

Эти файлы могут называться boot.emmc.win и recovery.emmc.win,
Эти файлы нужно переименовать в .img и они прошиваются.. На моем мтк это работает...

Я пробовал инструменты MTK Droid с виртуальной машины Windows 7. Пишет "Неизвестная структура ПЗУ, резервное копирование НЕВОЗМОЖНО!" Даже Flashify в этом случае не сработал. :'(

Файлы Sony boot.img каким-то образом отличаются от того, что большинство программ, таких как unmkbootimg и варианты unpack-bootimg, ожидают от них. Я все еще в процессе решения этой гигантской загадки для себя. Но я смог перепаковать boot.img из формата Sony в стандартный формат android boot.img. Теперь unmkbootimg, например, умеет его разбирать. Теперь Magisk также может исправить его, чтобы включить root.

Для этого вам понадобится Android Image Kitchen.

После того, как он у вас есть, если он находится в AIK-Linuxпапке, запустите sudo AIK-Linux/repackimg.sh --local <path to boot.img>файл, который вы получили с помощью dd. Это создаст новый boot.img, который можно использовать сunmkbootimg

Немного справочной информации

В этом есть определенная проблема. Мой телефон (Sony Xperia L 1 ) не загружается. Еще хуже! Даже стоковый boot.img не загружается!

У меня нет рута, поэтому я не мог использовать dd. Я получил kernel.elf(boot.img) из прошивки, которую скачал с помощью XperiFirm. Но попытка загрузить его (без перепрошивки) с помощью fastboot не работает. Это завершается с ошибкой: FAILED (remote: 'invalid kernel & ramdisk address: images overlap')загрузка образа, перепакованного с помощью Android Image Kitchen, не вызывает никаких ошибок. Но мой телефон не загружается и просто перезагружается.

PS Я прекрасно понимаю, что этот вопрос древний.