이 페이지에서는 16KB 지원을 사용하여 Pixel 8, Pixel 8 Pro, Pixel 8a를 빌드하는 방법을 보여줍니다.
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
스크립트를 제공하여 빌드 환경을 설정합니다.$ 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 커널 중 하나를 선택합니다.
- Pixel 8 및 Pixel 8 Pro 기기의 경우
android-gs-shusky-6.1-android15-qpr2-beta
- Pixel 8a 기기의 경우
android-gs-akita-6.1-android15-qpr2-beta
- Pixel 8 및 Pixel 8 Pro 기기의 경우
커널을 동기화합니다.
# 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
에서 이미지를 다운로드할 수 있습니다.
기기에 해당하는 녹색으로 강조 표시된 빌드를 선택합니다.
Pixel 8 Pro의 경우
aosp_husky_pgagnostic
아이콘을 클릭합니다.Pixel 8의 경우
aosp_shiba_pgagnostic
아이콘을 클릭합니다.Pixel 8a의 경우
aosp_akita_16k
아이콘을 클릭합니다.
페이지 하단에 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
이미지 플래시
이미지를 플래시하려면 다음 단계를 따르세요.
동적 파티션 이미지를 플래시합니다.
$ 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
커널 이미지를 플래시합니다.
$ 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