我正在尝试修改 Pixel 4a 5g 手机的内核。为此,我从https://developers.google.com/android/images下载了股票 boot.img 。我还有一个内核 src 代码(https://android.googlesource.com/kernel/common/+/refs/heads/android-4.19-stable)并编译它。它会生成一个 Image 和 Image.gz 文件。
以我的理解,我必须解压 boot.img 文件,用我的 Image.gz 替换它包含的内核并打包它。使用 unmkbootimg,我得到 zImage 和 initramfs.cpio.gz 但我认为它们已损坏。以下是我得到的:
unmkbootimg version 1.2 - Mikael Q Kuisma <kuisma@ping.se>
Kernel size 11562794
Kernel address 0xd7719f
Ramdisk size 369099082
Ramdisk address 0x62c
Secondary size 0
Secondary address 0x0
Kernel tags address 0x0
Flash page size 0
Board name is ""
Command line ""
*** WARNING ****
This image is built using NON-standard mkbootimg!
OFF_KERNEL_ADDR is 0x00D7729F
OFF_RAMDISK_ADDR is 0x0000072C
OFF_SECOND_ADDR is 0x00000100
Please modify mkbootimg.c using the above values to build your image.
****************
Extracting kernel to file zImage ...
Extracting root filesystem to file initramfs.cpio.gz ...
%Premature end-of-file saving initramfs.cpio.gz.
有人可以告诉我这样做的好方法吗?