27 Mart 2025'ten itibaren AOSP'yi derlemek ve AOSP'ye katkıda bulunmak için aosp-main
yerine android-latest-release
kullanmanızı öneririz. Daha fazla bilgi için AOSP'de yapılan değişiklikler başlıklı makaleyi inceleyin.
ARM64'te 16 KB sayfa boyutuyla Cuttlefish'i kullanma
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Bu kurulum için ARM64
Linux ana makine gerekir. Bu sayfada, ARM64
üzerinde Mürekkep Balığı'nın 16 KB sayfa boyutu desteğiyle nasıl derlenip başlatılacağı gösterilmektedir. Bu sayfadaki talimatlarda, Cuttlefish paketlerinin makinenize yüklenmiş olduğu varsayılır. Bunları yükleme talimatları için Mürekkepbalığı'yı yükleme başlıklı makalenin 1. adımına bakın.
Cuttlefish'i, önceden derlenmiş yapıları doğrudan Android Continuous Integration sitesinden indirerek veya kaynak kodunu değiştirmeniz gerekiyorsa AOSP'den derleyerek başlatabilirsiniz.
Yapıları indirerek Cuttlefish'i başlatın
Android Sürekli Entegrasyon sitesine gidin ve dal adı olarak aosp-main-throttled
yazın. aosp_cf_arm64_phone_pgagnostic
hedefi için en son derlemeyi tıklayın. Ardından, Cuttlefish'i yükleme başlıklı makalenin 5. adımındaki talimatları uygulayın.
AOSP'den derleyerek Cuttlefish'i başlatma
Cuttlefish'i sayfaya duyarlı olmayan bir hedefle oluşturup başlatın:
$ mkdir android-latest-branch && cd android-latest-branch
$ repo init -u https://android.googlesource.com/platform/manifest -b android-latest-release
$ repo sync -c -j32
# Build cf agnostic target.
$ source build/envsetup.sh
$ lunch aosp_cf_arm64_phone_pgagnostic-trunk_staging-userdebug
$ m
# Launch cf with a kernel with 16 KB page size support.
$ launch_cvd
...
...
VIRTUAL_DEVICE_DISPLAY_POWER_MODE_CHANGED
virtio_input_hid_handle_status: unknown type 20
virtio_input_hid_handle_status: unknown type 20
virtio_input_hid_handle_status: unknown type 20
virtio_input_hid_handle_status: unknown type 20
Generating new secret with slot ID: 4
VIRTUAL_DEVICE_BOOT_STARTED
VIRTUAL_DEVICE_NETWORK_MOBILE_CONNECTED
Sayfa boyutunu ve önyüklemeyi doğrulama
Sayfa boyutunu ve önyükleme durumunu doğrulamak için:
Kabuğa root olarak erişin:
$ adb root
adbd is already running as root
$ adb shell
vsoc_arm64_pgagnostic:/ #
Sayfa boyutunu ve önyükleme durumunu doğrulayın:
vsoc_arm64_pgagnostic:/ # getconf PAGE_SIZE
16384
vsoc_arm64_pgagnostic:/ # getprop | grep sys.boot.completed
sys.boot_completed: 1
Cuttlefish'i özel 16 KB sayfa boyutu çekirdeğiyle kullanma
Önceden oluşturulmuş bir çekirdek yerine özel bir çekirdek kullanmak için:
Android ortak çekirdeği için bir depo dizini oluşturun ve dizini senkronize edin:
$ mkdir common-android14-6.1 && cd common-android14-6.1
$ repo init -u https://android.googlesource.com/kernel/manifest -b common-android14-6.1
$ repo sync -c -j$(nproc)
16 KB sayfa boyutu çekirdeği derleyin:
$ tools/bazel run --lto=none //common:kernel_aarch64_16k_dist
$ tools/bazel run --lto=none //common-modules/virtual-device:virtual_device_aarch64_16k_dist -- \
--dist_dir=out/android14-6.1/dist
Derlemenin başarıyla yürütüldüğünü doğrulayın:
# Generated files
$ ls out/android14-6.1/dist/Image
$ ls out/android14-6.1/dist/initramfs.img
Cuttlefish'i özel 16 KB sayfa boyutu çekirdeğiyle başlatma
Yeni oluşturduğunuz çekirdeği Cuttlefish'te kullanmak için:
$ launch_cvd -kernel_path ~/common-android14-6.1/out/android14-6.1/dist/Image \
-initramfs_path ~/common-android14-6.1/out/android14-6.1/dist/initramfs.img \
--resume=false --userdata_format=ext4 \
--data_policy=always_create --blank_data_image_mb=8000
-userdata_format=ext4
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-07-27 UTC."],[],[],null,["# Use Cuttlefish with 16 KB page size on ARM64\n\nThis setup requires an `ARM64` Linux host. This page shows how to build and\nstart Cuttlefish with 16 KB page size support on `ARM64`. The instructions on\nthis page assume that Cuttlefish packages are installed in your machine. For\ninstructions to install them, see Step 1 of [Install Cuttlefish](/docs/devices/cuttlefish/get-started#launch).\n\nYou can launch Cuttlefish by either [downloading the prebuilt\nartifacts](#download-build-artifacts) directly from the Android Continuous\nIntegration site or [build them from AOSP](#sync-build) if you need to modify\nthe source code.\n\nLaunch Cuttlefish by downloading the artifacts\n----------------------------------------------\n\nNavigate to [Android Continuous Integration site](https://ci.android.com) and\nenter `aosp-main-throttled` as the branch name. Click the latest build for the\n`aosp_cf_arm64_phone_pgagnostic` target. Now, follow the instructions from Step\n5 of [Install Cuttlefish](/docs/devices/cuttlefish/get-started#launch).\n\nLaunch Cuttlefish by building from AOSP\n---------------------------------------\n\nBuild and launch Cuttlefish with a page-agnostic target: \n\n $ mkdir android-latest-branch && cd android-latest-branch\n $ repo init -u https://android.googlesource.com/platform/manifest -b android-latest-release\n $ repo sync -c -j32\n\n # Build cf agnostic target.\n $ source build/envsetup.sh\n $ lunch aosp_cf_arm64_phone_pgagnostic-trunk_staging-userdebug\n $ m\n\n # Launch cf with a kernel with 16 KB page size support.\n $ launch_cvd\n ...\n ...\n VIRTUAL_DEVICE_DISPLAY_POWER_MODE_CHANGED\n virtio_input_hid_handle_status: unknown type 20\n virtio_input_hid_handle_status: unknown type 20\n virtio_input_hid_handle_status: unknown type 20\n virtio_input_hid_handle_status: unknown type 20\n Generating new secret with slot ID: 4\n VIRTUAL_DEVICE_BOOT_STARTED\n VIRTUAL_DEVICE_NETWORK_MOBILE_CONNECTED\n\nVerify page size and boot\n-------------------------\n\nTo verify page size and boot status:\n\n1. Access the shell as root:\n\n $ adb root\n adbd is already running as root\n $ adb shell\n vsoc_arm64_pgagnostic:/ #\n\n2. Verify page size and boot status:\n\n vsoc_arm64_pgagnostic:/ # getconf PAGE_SIZE\n 16384\n vsoc_arm64_pgagnostic:/ # getprop | grep sys.boot.completed\n sys.boot_completed: 1\n\nUse Cuttlefish with custom 16 KB page size kernel\n-------------------------------------------------\n\nTo use a custom kernel, instead of a prebuilt kernel:\n\n1. Create a repo directory for an android common kernel and sync the directory:\n\n $ mkdir common-android14-6.1 && cd common-android14-6.1\n $ repo init -u https://android.googlesource.com/kernel/manifest -b common-android14-6.1\n $ repo sync -c -j$(nproc)\n\n2. Build 16 KB page size kernel:\n\n $ tools/bazel run --lto=none //common:kernel_aarch64_16k_dist\n $ tools/bazel run --lto=none //common-modules/virtual-device:virtual_device_aarch64_16k_dist -- \\\n --dist_dir=out/android14-6.1/dist\n\n3. Verify that the build executed successfully:\n\n # Generated files\n $ ls out/android14-6.1/dist/Image\n $ ls out/android14-6.1/dist/initramfs.img\n\n### Start Cuttlefish with the custom 16 KB page size kernel\n\nTo use your newly built kernel in Cuttlefish: \n\n $ launch_cvd -kernel_path ~/common-android14-6.1/out/android14-6.1/dist/Image \\\n -initramfs_path ~/common-android14-6.1/out/android14-6.1/dist/initramfs.img \\\n --resume=false --userdata_format=ext4 \\\n --data_policy=always_create --blank_data_image_mb=8000\n -userdata_format=ext4"]]