16 KB destekli Pixel 8 cihazları derleme ve flaşlama

Bu sayfada, Pixel 8, Pixel 8 Pro ve Pixel 8a'nın 16 KB destekli olarak nasıl oluşturulacağı gösterilmektedir.

AOSP'yi senkronize etme ve derleme

AOSP'yi senkronize etmek ve derlemek için:

  1. AOSP deposuna göz atın:

     $ mkdir ~/aosp_main && cd ~/aosp_main
     $ repo init -u https://android.googlesource.com/platform/manifest -b main
     $ repo sync -c -j$(nproc)
    
  2. Derleme ortamınızı ayarlamak için envsetup.sh komut dosyasını kaynak olarak kullanın:

     $ source build/envsetup.sh
    
  3. Pixel 8 cihazlar için üç hedeften birini seçin:

    • aosp_husky_pgagnostic-trunk_staging-userdebug for Pixel 8 Pro
    • Pixel 8 için aosp_shiba_pgagnostic-trunk_staging-userdebug
    • aosp_akita_16k-trunk_staging-userdebug for Pixel 8a
     $ lunch target
    
  4. Kodu derleyin:

     $ m -j$(nproc)
    

    Derleme tamamlandıktan sonra aşağıdaki resimler oluşturulur:

     $ 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
    

Çekirdeği senkronize etme ve oluşturma

  1. Aşağıdaki 6.1 çekirdeklerinden birini seçin:

    • android-gs-shusky-6.1-android15-qpr2-beta Pixel 8 ve Pixel 8 Pro cihazlar için
    • android-gs-akita-6.1-android15-qpr2-beta for Pixel 8a cihaz
  2. Çekirdeği senkronize etme:

    # 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
    
  3. Çekirdeği derleyin:

    • Pixel 8 veya Pixel 8 Pro için çekirdeği oluşturmak üzere şunları kullanın:

      $ ./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
      
    • Pixel 8a için çekirdeği oluşturmak üzere şunları kullanın:

      $ ./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
      

Sağlayıcı resimlerini indirme

AOSP deposu, cihazın başlatılması için gereken tedarikçi firma resimlerini içermiyor. Resimleri ci.android.com adresinden indirebilirsiniz:

  1. ci.android.com/git_aosp-main-with-phones-throttled adresine gidin.

  2. Cihazınıza karşılık gelen, yeşil renkle vurgulanmış bir derlemeyi seçin:

    • Pixel 8 Pro için aosp_husky_pgagnostic simgesini tıklayın.

    • Pixel 8 için aosp_shiba_pgagnostic simgesini tıklayın.

    • Pixel 8a için aosp_akita_16k simgesini tıklayın.

    Öğeler sekmesi sayfanın en altında görünür.

  3. Öğeler'i tıklayın. Cihazınıza ait yapı taşları listelenir.

  4. Yapıyı indirmek için .sh ile biten dosyayı tıklayın.

  5. İçeriği ayıklamak için dosyanın indirildiği dizinde aşağıdaki komutu çalıştırın:

     $ 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
    

Resimleri geçici bir dizine kopyalayın

AOSP, çekirdek ve tedarikçi firma resimlerini şu sırayla bir dizine kopyalayın:

 $ 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

Flash resimler

Görüntüleri yanıp söndürmek için aşağıdaki adımları uygulayın:

  1. Dinamik bölüm resimlerini flaşlayın:

     $ 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
    
  2. Çekirdek görüntülerini flaşlayın:

     $ 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
    
  3. Cihazı başlatmak için güç düğmesine basın.

  4. Sayfa boyutunu şu yöntemlerle kontrol edebilirsiniz:

     $ adb shell getconf PAGE_SIZE
    16384