Bu kurulum için bir ARM64
Linux ana makinesi gereklidir. Bu sayfada, ARM64
'te 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 main && cd main
$ repo init -u https://android.googlesource.com/platform/manifest -b main
$ 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şme:
$ 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 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