בדף הזה מוסבר איך ליצור מכשירי Pixel 8, Pixel 8 Pro ו-Pixel 8a עם תמיכה ב-16 KB.
סנכרון ובנייה של AOSP
כדי לסנכרן ולבנות את AOSP:
בודקים את מאגר ה-AOSP:
$ mkdir ~/aosp_main && cd ~/aosp_main $ repo init -u https://android.googlesource.com/platform/manifest -b main $ repo sync -c -j$(nproc)
מריצים את הסקריפט
envsetup.sh
כדי להגדיר את סביבת ה-build:$ source build/envsetup.sh
בוחרים אחת משלוש אפשרויות הטירגוט למכשירי 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
-
יוצרים את הקוד:
$ 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
סנכרון ובניית ליבה
בוחרים באחת מהליבות הבאות של גרסה 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
-
מסנכרנים את הליבה:
# 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
יוצרים את הליבה:
כדי ליצור את הליבה של 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
:
עוברים אל
ci.android.com/git_aosp-main-with-phones-throttled
.בוחרים גרסת build שמסומנת בירוק ומתאימה למכשיר:
ב-Pixel 8 Pro, לוחצים על
aosp_husky_pgagnostic
.ב-Pixel 8, לוחצים על
aosp_shiba_pgagnostic
.ב-Pixel 8a, לוחצים על
aosp_akita_16k
.
הכרטיסייה Artifacts (פריטי מידע) מופיעה בתחתית הדף.
לוחצים על Artifacts (ארטיפקטים). מוצגת רשימה של הארטיפקטים של המכשיר.
כדי להוריד את הארטיפקט, לוחצים על הקובץ שמסתיים ב-
.sh
.בתוך הספרייה שאליה הורד הקובץ, מריצים את הפקודה הבאה כדי לחלץ את התוכן:
$ 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
כדי לצרוב את התמונות, פועלים לפי השלבים הבאים:
מריצים את הפקודה הבאה כדי להציג את התמונות של המחיצות הדינמיות:
$ 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
מבצעים 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
לוחצים על לחצן ההפעלה כדי להפעיל את המכשיר.
בודקים את גודל הדף באמצעות:
$ adb shell getconf PAGE_SIZE 16384