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

Bu kurulum için x86_64 Linux ana makinesi gerekir. Bu sayfada, x86_64 üzerinde 16 KB sayfa boyutu desteğiyle Cuttlefish'i nasıl oluşturup başlatacağınız açıklanmaktadır. Bu sayfadaki talimatlarda, Cuttlefish paketlerinin makinenize yüklendiği varsayılır. Bunları yükleme talimatları için Cuttlefish'i yükleme başlıklı makalenin 1. adımına bakın.

Cuttlefish'i, önceden oluşturulmuş yapıları doğrudan Android Continuous Integration sitesinden indirerek veya kaynak kodu değiştirmeniz gerekiyorsa AOSP'den oluşturarak başlatabilirsiniz.

Çekirdek uygulaması

x86_64 16 KB sayfaları taklit etme desteği, page_size_emulation yama serisindeki Android 14 6.6 GKI'ya eklendi. Komut satırında page_shift=14 iletilerek bu emülasyon etkinleştirilir. x86_64 sonekiyle hedeflenen _16k (veya _pgagnostic sonekiyle hedeflenen eski hedefler), örneğin aosp_cf_x86_64_phone_pgagnostic, bu seçeneği varsayılan olarak geçer ve varsayılan olarak 16 KB modunda çalışır.

Yapıları indirerek Cuttlefish'i başlatma

Android Continuous Integration sitesine gidin ve dal adı olarak aosp-main-throttled girin. aosp_cf_x86_64_only_phone_pgagnostic hedefi için en son derlemeyi tıklayın. Şimdi Cuttlefish'i yükleme başlıklı makalenin 5. adımındaki talimatları uygulayın.

AOSP'den derleyerek Cuttlefish'i başlatma

Sayfadan bağımsız bir hedefle Cuttlefish'i 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 başlatmayı doğrulama

Sayfa boyutunu ve başlatma durumunu doğrulamak için:

  1. Kabuğa kök olarak erişin:

    $ adb root
    adbd is already running as root
    $ adb shell
    vsoc_x86_64_pgagnostic:/ #
    
  2. Sayfa boyutunu ve başlatma 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