Questa pagina mostra come eseguire il build di Pixel 8, Pixel 8 Pro e Pixel 8a con il supporto di 16 KB.
Sincronizza e compila AOSP
Per sincronizzare e compilare AOSP:
Consulta il repository AOSP:
$ mkdir ~/aosp_main && cd ~/aosp_main $ repo init -u https://android.googlesource.com/platform/manifest -b main $ repo sync -c -j$(nproc)
Esegui lo script
envsetup.sh
per configurare l'ambiente di compilazione:$ source build/envsetup.sh
Scegli uno dei tre target per i dispositivi Pixel 8:
aosp_husky_pgagnostic-trunk_staging-userdebug
per Pixel 8 Proaosp_shiba_pgagnostic-trunk_staging-userdebug
per Pixel 8aosp_akita_16k-trunk_staging-userdebug
per Pixel 8a
$ lunch target
Compila il codice:
$ m -j$(nproc)
Queste immagini vengono generate al termine della compilazione:
$ 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
Sincronizza e compila il kernel
Seleziona uno di questi kernel 6.1:
android-gs-shusky-6.1-android15-qpr2-beta
per i dispositivi Pixel 8 e Pixel 8 Proandroid-gs-akita-6.1-android15-qpr2-beta
per il dispositivo Pixel 8a
Sincronizza il 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 il kernel:
Per compilare il kernel per Pixel 8 o Pixel 8 Pro, utilizza:
$ ./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
Per compilare il kernel per Pixel 8a, utilizza:
$ ./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
Scaricare le immagini del fornitore
Il repository AOSP non contiene le immagini del fornitore, necessarie per avviare il dispositivo. Puoi scaricare le immagini da ci.android.com
:
Seleziona una build evidenziata in verde che corrisponde al tuo dispositivo:
Per Pixel 8 Pro, fai clic su
aosp_husky_pgagnostic
.Per Pixel 8, fai clic su
aosp_shiba_pgagnostic
.Per Pixel 8a, fai clic su
aosp_akita_16k
.
La scheda Elementi viene visualizzata nella parte inferiore della pagina.
Fai clic su Elementi. Vengono elencati gli elementi per il tuo dispositivo.
Per scaricare l'elemento, fai clic sul file che termina con
.sh
.Dalla directory in cui è stato scaricato il file, esegui il seguente comando per estrarre i contenuti:
$ 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 le immagini in una directory temporanea
Copia le immagini AOSP, del kernel e del fornitore in una directory in questo ordine:
$ 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
Immagini flash
Per eseguire il flashing delle immagini:
Esegui il flashing delle immagini delle partizioni dinamiche:
$ 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
Esegui il flashing delle immagini del kernel:
$ 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
Premi il tasto di accensione per avviare il dispositivo.
Controlla le dimensioni della pagina con:
$ adb shell getconf PAGE_SIZE 16384