บิลด์และแฟลชอุปกรณ์ Pixel 8 ที่รองรับ 16 KB

หน้านี้แสดงวิธีสร้าง Pixel 8, Pixel 8 Pro และ Pixel 8a ที่รองรับ 16 KB

ซิงค์และสร้าง AOSP

วิธีซิงค์และสร้าง AOSP

  1. โปรดดูที่เก็บข้อมูล AOSP

     $ mkdir ~/aosp_main && cd ~/aosp_main
     $ repo init -u https://android.googlesource.com/platform/manifest -b main
     $ repo sync -c -j$(nproc)
    
  2. เรียกใช้สคริปต์ envsetup.sh เพื่อตั้งค่าสภาพแวดล้อมการสร้าง

     $ source build/envsetup.sh
    
  3. เลือกเป้าหมายใดเป้าหมายหนึ่งต่อไปนี้สำหรับอุปกรณ์ Pixel 8

    • aosp_husky_pgagnostic-trunk_staging-userdebug สำหรับ Pixel 8 Pro
    • aosp_shiba_pgagnostic-trunk_staging-userdebug สำหรับ Pixel 8
    • aosp_akita_16k-trunk_staging-userdebug สำหรับ Pixel 8a
     $ lunch target
    
  4. สร้างโค้ดโดยใช้คำสั่งต่อไปนี้

     $ m -j$(nproc)
    

    ระบบจะสร้างรูปภาพเหล่านี้หลังจากบิลด์เสร็จแล้ว

     $ 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
    

ซิงค์และสร้างเคอร์เนล

  1. เลือกเคอร์เนล 6.1 รายการใดรายการหนึ่งต่อไปนี้

    • android-gs-shusky-6.1-android15-qpr2-beta สำหรับอุปกรณ์ Pixel 8 และ Pixel 8 Pro
    • android-gs-akita-6.1-android15-qpr2-beta สำหรับอุปกรณ์ Pixel 8a
  2. ซิงค์เคอร์เนล

    # 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. สร้างเคอร์เนล

    • หากต้องการสร้างเคอร์เนลสำหรับ Pixel 8 หรือ Pixel 8 Pro ให้ใช้

      $ ./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 ให้ใช้สิ่งต่อไปนี้

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

ดาวน์โหลดรูปภาพผู้ให้บริการ

ที่เก็บ AOSP ไม่มีอิมเมจของผู้ให้บริการ ซึ่งจำเป็นต่อการบูตอุปกรณ์ คุณดาวน์โหลดรูปภาพจาก ci.android.com ได้โดยทำดังนี้

  1. ไปที่ ci.android.com/git_aosp-main-with-phones-throttled

  2. เลือกบิลด์ที่ไฮไลต์ด้วยสีเขียวซึ่งสอดคล้องกับอุปกรณ์ของคุณ

    • สำหรับ Pixel 8 Pro ให้คลิก aosp_husky_pgagnostic

    • สำหรับ Pixel 8 ให้คลิก aosp_shiba_pgagnostic

    • สำหรับ Pixel 8a ให้คลิก aosp_akita_16k

    แท็บรายการต่างๆจะปรากฏที่ด้านล่างของหน้า

  3. คลิกอาร์ติแฟกต์ รายการต่างๆ สำหรับอุปกรณ์จะแสดงอยู่

  4. หากต้องการดาวน์โหลดอาร์ติแฟกต์ ให้คลิกไฟล์ที่ลงท้ายด้วย .sh

  5. จากภายในไดเรกทอรีที่ดาวน์โหลดไฟล์ ให้เรียกใช้คำสั่งต่อไปนี้เพื่อแยกเนื้อหา

     $ 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
    

คัดลอกรูปภาพไปยังไดเรกทอรีชั่วคราว

คัดลอก AOSP, เคอร์เนล และอิมเมจของผู้ให้บริการไปยังไดเรกทอรีตามลําดับนี้

 $ 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

หากต้องการแฟลชรูปภาพ ให้ทำตามขั้นตอนต่อไปนี้

  1. แฟลชรูปภาพพาร์ติชันแบบไดนามิก โดยทำดังนี้

     $ 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. แฟลชอิมเมจเคอร์เนลโดยทำดังนี้

     $ 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. กดปุ่มเปิด/ปิดเพื่อบูตอุปกรณ์

  4. ตรวจสอบขนาดหน้าเว็บด้วยวิธีต่อไปนี้

     $ adb shell getconf PAGE_SIZE
    16384