x86_64'te 16 KB sayfa boyutuyla Cuttlefish'i simüle etme

Bu kurulum için x86_64 Linux ana makine gerekir. Bu sayfada, x86_64 ü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, doğrudan Android sürekli entegrasyon sitesinden önceden oluşturulmuş yapıları indirerek veya kaynak kodunu değiştirmeniz gerekiyorsa AOSP'den derleyerek başlatabilirsiniz.

Çekirdek uygulama

x86_64 16 KB sayfaları taklit etme desteği, Android 14 6.6 GKI'deki page_size_emulation yama serisinde eklendi. Komut satırına page_shift=14 iletilmesi bu emülasyonu etkinleştirir. _16k son ekiyle (veya _pgagnostic son ekiyle) biten x86_64 hedefleri (ör. aosp_cf_x86_64_phone_pgagnostic), varsayılan olarak bu seçeneği iletir ve varsayılan olarak 16 KB modunda çalışır.

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_x86_64_only_phone_pgagnostic hedefi için en son derlemeyi tıklayın. Ardından, Cuttlefish'i yükleme başlıklı makalenin 5. adımında verilen 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-release && cd android-latest-release
$ 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_x86_64_only_phone_pgagnostic-aosp_current-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:

  1. Kabuğa root olarak erişin:

    $ adb root
    adbd is already running as root
    $ adb shell
    vsoc_x86_64_pgagnostic:/ #
    
  2. Sayfa boyutunu ve önyükleme durumunu doğrulayın:

    vsoc_x86_64_pgagnostic::/ # getconf PAGE_SIZE
    16384
    vsoc_x86_64_pgagnostic::/ # getprop | grep sys.boot.completed
    sys.boot_completed: 1