Распаковка / упаковка образа восстановления AOSP с помощью abootimg не загружается

Я собрал recovery.img (используя программу установки на обед) для своего устройства Nexus 7, используя исходный код AOSP. Я могу использовать это как:

$ adb reboot bootloader
$ fastboot boot recovery.img

Однако, когда я распаковываю и перепаковываю файл recovery.img с помощью утилиты abootimg (без внесения каких-либо изменений в ramdisk) и повторяю попытку загрузки с помощью recovery.img, мой Nexus 7 просто заходит в цикл заставки Google. Устройство продолжает перезагружаться после перехода на заставку.

Для деталей, вот мои шаги:

$ ls
recovery.img
$ abootimg -x recovery.img
$ abootimg-unpack-initrd initrd.img
$ abootimg-pack-initrd myinitrd.img ./ramdisk
$ abootimg -u recovery.img -r myinitrd.img

Получающийся в результате обновленный recovery.img не работает должным образом, даже если это просто неизмененная копия исходного файла recovery.img.

1 ответ

У меня была такая же проблема несколько недель назад, но с загрузочным образом, а не с восстановлением... Единственное решение, которое я нашел для работы, - это извлечь initfs из файла img, извлеченного из устройства после его установки, используя dd команда:

dd if=/dev/block/mmcblk0pX of=/sdcard/recovery.img
(Where X is the number of your recovery partition)

Вы можете узнать номер вашего раздела восстановления, используя:

ls -l /dev/block/platform/soc.0/7824900.sdhci/by-name
(Please, note this path may be device specific, but should be similar for all. This one worked for Sony Xperia X Compact device)

Затем, извлекая файл recovery.img, вы можете теперь извлечь initfs и перепаковать заново

Другие вопросы по тегам