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 başlatmak için önceden oluşturulmuş yapıları doğrudan Android Continuous Integration sitesinden indirebilir veya kaynak kodu değiştirmeniz gerekiyorsa AOSP'den oluşturabilirsiniz.

Çekirdek uygulaması

x86_64 16 KB sayfaları taklit etme desteği, page_size_emulation yama serisinde Android 14 6.6 GKI'ya eklenmiştir. Komut satırında page_shift=14 iletildiğinde bu emülasyon etkinleştirilir. x86_64, _16k sonekine sahip hedefler (veya _pgagnostic sonekine sahip eski hedefler) (ör. aosp_cf_x86_64_phone_pgagnostic) bu seçeneği varsayılan olarak atlar ve varsayılan olarak 16 KB modunda çalışır.

Yapıları indirerek Cuttlefish'i başlatma

Android Sürekli Entegrasyon 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 derleme yaparak 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