En esta página, se muestra cómo compilar el Pixel 8, el Pixel 8 Pro y el Pixel 8a con compatibilidad de 16 KB.
Sincroniza y compila el AOSP
Para sincronizar y compilar el AOSP, haz lo siguiente:
Verifica el repositorio de AOSP:
$ mkdir ~/aosp_main && cd ~/aosp_main $ repo init -u https://android.googlesource.com/platform/manifest -b main $ repo sync -c -j$(nproc)
Obtén la secuencia de comandos
envsetup.sh
para configurar tu entorno de compilación:$ source build/envsetup.sh
Elige uno de los tres objetivos para los dispositivos Pixel 8:
aosp_husky_pgagnostic-trunk_staging-userdebug
para Pixel 8 Proaosp_shiba_pgagnostic-trunk_staging-userdebug
para Pixel 8aosp_akita_16k-trunk_staging-userdebug
para Pixel 8a
$ lunch target
Compila el código:
$ m -j$(nproc)
Estas imágenes se generan después de que finaliza la compilación:
$ ls out/target/product/<husky|shiba|akita>/*.img out/target/product/husky/boot.img out/target/product/husky/vbmeta.img out/target/product/husky/dtb.img out/target/product/husky/vbmeta_system.img out/target/product/husky/dtbo.img out/target/product/husky/vendor-bootconfig.img out/target/product/husky/init_boot.img out/target/product/husky/vendor_boot-debug.img out/target/product/husky/product.img out/target/product/husky/vendor_boot.img out/target/product/husky/pvmfw.img out/target/product/husky/vendor_boot-test-harness.img out/target/product/husky/ramdisk.img out/target/product/husky/vendor.img out/target/product/husky/super_empty.img out/target/product/husky/vendor_kernel_boot.img out/target/product/husky/system_dlkm.img out/target/product/husky/vendor_kernel_ramdisk.img out/target/product/husky/system_ext.img out/target/product/husky/vendor_ramdisk-debug.img out/target/product/husky/system.img out/target/product/husky/vendor_ramdisk.img out/target/product/husky/system_other.img out/target/product/husky/vendor_ramdisk-test-harness.img out/target/product/husky/userdata.img
Sincroniza y compila el kernel
Selecciona uno de los siguientes kernels 6.1:
android-gs-shusky-6.1-android15-qpr2-beta
para dispositivos Pixel 8 y Pixel 8 Proandroid-gs-akita-6.1-android15-qpr2-beta
para el dispositivo Pixel 8a
Sincroniza el kernel:
# Sync the kernel. $ mkdir ~/android-gs-shusky-6.1 $ cd ~/android-gs-shusky-6.1 $ repo init -u https://android.googlesource.com/kernel/manifest -b kernel $ repo sync -c -j6
Compila el kernel:
Para compilar el kernel para el Pixel 8 o el Pixel 8 Pro, usa el siguiente comando:
$ ./tools/bazel run \ --config=shusky \ //private/devices/google/shusky:zuma_shusky_dist \ --config=16k [dist] INFO: Copying to ~/android14-gs-pixel-6.1/out/shusky/dist
Para compilar el kernel del Pixel 8a, usa el siguiente comando:
$ ./tools/bazel run \ --config=akita \ //private/devices/google/akita:zuma_akita_dist \ --confige=16k [dist] INFO: Copying to ~/android14-gs-pixel-6.1/out/akita/dist
Descarga imágenes de proveedores
El repositorio de AOSP no contiene las imágenes del proveedor, que son necesarias para iniciar el dispositivo. Puedes descargar las imágenes desde ci.android.com
:
Selecciona una compilación destacada en verde que corresponda a tu dispositivo:
En el Pixel 8 Pro, haz clic en
aosp_husky_pgagnostic
.En el Pixel 8, haz clic en
aosp_shiba_pgagnostic
.En el caso del Pixel 8a, haz clic en
aosp_akita_16k
.
La pestaña Artifacts aparece en la parte inferior de la página.
Haz clic en Artefactos. Se muestran los artefactos de tu dispositivo.
Para descargar el artefacto, haz clic en el archivo que termina en
.sh
.Desde el directorio en el que se descargó el archivo, ejecuta el siguiente comando para extraer el contenido:
$ cd ~/Downloads $ chmod +x aosp_<selected target>-flashable-<build id>-with-license.sh ./aosp_<selected target>-flashable-<build id>-with-license.sh # After reading the license, type Type "I ACCEPT" if you agree to the terms of the license: I ACCEPT # The extracted file will be in the current directory $ ls aosp_<selected_target>-flashable-with-license.zip # unzip that file in a directory named aosp_vendor $ unzip aosp_<selected_target>-flashable-with-license.zip -d aosp_vendor # The content of the directory will look like: $ ls aosp_vendor android-info.txt init_boot.img super_empty.img system_other.img vbmeta_vendor.img vendor_kernel_boot.img boot.img product.img system_dlkm.img userdata.img vendor_boot.img bootloader.img pvmfw.img system_ext.img vbmeta.img vendor_dlkm.img dtbo.img radio.img system.img vbmeta_system.img vendor.img
Copia las imágenes en un directorio temporal
Copia las imágenes de AOSP, del kernel y del proveedor en un directorio en este orden:
$ mkdir ~/images && cd ~/images
# Copy AOSP generated images
$ cp ~/aosp_main/out/target/product/<akita|husky|shiba>/*.img ./images
# Copy kernel generated images
$ cp ~/android-gs-shusky-6.1/out/<akita|shusky>/dist ./images
# Copy the vendor images
$ cp ~/Downloads/aosp_vendor/vendor.img ./images
$ cp ~/Downloads/aosp_vendor/vbmeta_vendor.img ./images
Cómo escribir imágenes en la memoria flash
Para escribir las imágenes en la memoria flash, sigue estos pasos:
Instala las imágenes de partición dinámica:
$ IMGS_DIR=~/images $ adb reboot fastboot $ fastboot flash product $IMGS_DIR/product.img $ fastboot flash system $IMGS_DIR/system.img $ fastboot flash system_ext $IMGS_DIR/system_ext.img $ fastboot flash system_dlkm $IMGS_DIR/system_dlkm.img $ fastboot flash vendor $IMGS_DIR/vendor.img $ fastboot flash vendor_dlkm $IMGS_DIR/vendor_dlkm.img
Escribe las imágenes del kernel en la memoria flash:
$ fastboot reboot bootloader # Wipe out /data partition $ fastboot -w # Disable pkvm $ fastboot oem pkvm disable $ fastboot flash boot $IMGS_DIR/boot.img $ fastboot flash init_boot $IMGS_DIR/init_boot.img $ fastboot flash dtbo $IMGS_DIR/dtbo.img $ fastboot flash vendor_kernel_boot $IMGS_DIR/vendor_kernel_boot.img $ fastboot flash pvmfw $IMGS_DIR/pvmfw.img $ fastboot flash vendor_boot $IMGS_DIR/vendor_boot.img $ fastboot flash --disable-verity --disable-verification vbmeta $IMGS_DIR/vbmeta.img $ fastboot flash --disable-verity --disable-verification vbmeta_system $IMGS_DIR/vbmeta_system.img $ fastboot flash --disable-verity --disable-verification vbmeta_vendor $IMGS_DIR/vbmeta_vendor.img
Presiona el botón de encendido para iniciar el dispositivo.
Verifica el tamaño de la página con el siguiente comando:
$ adb shell getconf PAGE_SIZE 16384