This page describes how to obtain boot images with kernel build artifacts for compatibility testing.
Obtain boot images
In AOSP, you can get prebuilt boot images from
ci.android.com.
The boot images are contained within the aosp_arm64-img-*.zip
archive in the
aosp_arm64
build target, as follows:
android11-5.4
from theandroid11-gsi
branch.android12-5.4
from theandroid12-gsi
branch.
Both signed and unsigned boot images come in the following kernel compression options:
boot-5.4.img
is an uncompressed kernel.boot-5.4-gz
is a gzip compressed kernel.boot-5.4-lz4
is an lz4 compressed kernel.
For development purposes, you can use kernel prebuilts and GKI
boot images that export all symbols in the kernel (the symbols are
untrimmed
). Untrimmed kernel prebuilts are generated in the
kernel_debug_aarch64
target for a particular kernel build on
ci.android.com.
Untrimmed GKI boot images are generated in userdebug builds alongside the normal
trimmed GKI boot images and have filenames that end with -allsyms.img
.
Obtain kernel build artifacts
When debugging issues in a GKI boot.img
file, it's useful to also have the
build artifacts associated with the kernel in that file. For example, you can
use the unstripped vmlinux
for debugging and the manifest for reproducing the
GKI kernel build locally. To obtain build artifacts:
Locate the build number for the kernel prebuilt that was used to create the GKI
boot.img
. The build number appears at the end of the kernel version, preceded by the lettersab
. The following example shows the build number in bold:[ 0.000000] Linux version 5.4.49-00947-g9d21bcd4897b-ab6638796
You can also determine the build number of the kernel by using
grep
to find a boot image containing an uncompressed kernel:grep -a "Linux version " boot-5.4.img
Open the kernel prebuilt build by using the build number in the following URL:
https://ci.android.com/builds/submitted/<number>/kernel_aarch64/latest
For example, using the build number from step 1, the URL is as follows:
https://ci.android.com/builds/submitted/6638796/kernel_aarch64/latest
When using an untrimmed build, replace
kernel_aarch64
in the link withkernel_debug_aarch64
.