1

我使用 AOSP 源代码为我的 Nexus 7 设备构建了一个 recovery.img(使用 flo 午餐设置)。我可以像这样使用它:

$ adb reboot bootloader
$ fastboot boot recovery.img

但是,当我使用 abootimg 实用程序解压缩并重新打包 recovery.img 文件(不对 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 文件的未修改副本。

4

1 回答 1

0

几周前我遇到了同样的问题,但是使用引导映像,而不是恢复...我发现唯一可行的解​​决方案是使用dd命令安装后从设备中提取的 img 文件中提取 initfs:

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 并再次重新打包

于 2017-09-18T06:54:53.333 回答