cfig / Android_boot_image_editor

Parsing and re-packing Android boot.img/vbmeta.img/payload.bin, supporting Android 15
Apache License 2.0
1.04k stars 232 forks source link

Failed to Unpack Oculus Go Image #76

Closed moocow1452 closed 2 years ago

moocow1452 commented 2 years ago

Using the unlocked_build.zip available at https://developer.oculus.com/blog/unlocking-oculus-go/ , I was not able to proceed past the unpacking step. Here's my output:

https://paste.debian.net/1218100

I'm using WSL2 Ubuntu if that changes anything.

cfig commented 2 years ago
> Task :unpack
14:44:40:360 WARN PackableLauncher - [boot.img] will be handled by [BootImgParser]
14:44:41:524 WARN PackableLauncher - 'unpack' sequence initialized
14:44:41:612 INFO BootImgParser - header version 13303406
14:44:45:595 WARN BootHeaderV3 - BootImgHeaderV3/V4 constructor
Exception in thread "main" java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97)
        at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113)
        at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108)
        at cfig.packable.PackableLauncherKt.main(PackableLauncher.kt:105)
Caused by: java.lang.IllegalArgumentException: stream doesn't look like Android Boot Image V3 Header
        at cfig.bootimg.v3.BootHeaderV3.<init>(BootHeaderV3.kt:41)
        at cfig.bootimg.v3.BootV3$Companion.parse(BootV3.kt:53)
        at cfig.packable.BootImgParser.unpack(BootImgParser.kt:49)
        ... 8 more

> Task :unpack FAILED

FAILURE: Build failed with an exception.
cfig commented 2 years ago

Hi @moocow1452 , The file Oculus_Go_SW_Unlock_v1/unlocked_build.zip is OTA package, boot.img is packed inside payload.bin. After extracting boot image from it, I can unpack the image.

                        Unpack Summary of boot.img
┌───────────────────────────────────────┬──────────────────────────────────────┐
│What                                   │Where                                 │
└───────────────────────────────────────┴──────────────────────────────────────┘
┌───────────────────────────────────────┬──────────────────────────────────────┐
│image info                             │build/unzip_boot/boot.json            │
├───────────────────────────────────────┼──────────────────────────────────────┤
│kernel                                 │build/unzip_boot/kernel               │
│\-- version [3.18.31]                  │build/unzip_boot/kernel_version.txt   │
│\-- config                             │build/unzip_boot/kernel_configs.txt   │
├───────────────────────────────────────┼──────────────────────────────────────┤
│ramdisk                                │build/unzip_boot/ramdisk.img.gz       │
│\-- extracted ramdisk rootfs           │build/unzip_boot/root                 │
└───────────────────────────────────────┴──────────────────────────────────────┘
cfig commented 2 years ago

This is the boot image inside Oculus package. boot.img.gz

cfig commented 2 years ago

Please raise your hand if you still meet any problems in the above steps.