Bu kurulum için bir ARM64
Linux ana makinesi gereklidir. Bu sayfada, ARM64
alanında 16 KB sayfa boyutu desteğiyle Mürekkep balığının nasıl oluşturulup başlatılacağı gösterilmektedir. Bu sayfadaki talimatlarda Mürekkep balığı paketlerinin makinenizde yüklü olduğu varsayılmıştır. Yükleme talimatları için Cettlefish'i Yükleme başlığının 1. Adımına bakın.
Cuttlefish'i, önceden oluşturulmuş yapıları doğrudan Android Sürekli Entegrasyon sitesinden indirerek veya kaynak kodunu değiştirmeniz gerekirse AOSP'den derleyerek başlatabilirsiniz.
Eserleri indirerek Cuttlefish'i başlat
Android Sürekli Entegrasyon sitesi'ne gidin ve dal adı olarak aosp-main-throttled
girin. aosp_cf_arm64_phone_pgagnostic
hedefi için en son derlemeyi tıklayın. Şimdi Cuttlefish'i Yükleme bölümündeki
5. Adımdaki talimatları uygulayın.
AOSP'den derleme yaparak Mürekkep balığı'nı kullanıma sunun
Sayfadan bağımsız bir hedefle Mürekkep balığı oluşturun ve kullanıma sunun:
$ 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 doğrula ve başlat
Sayfa boyutunu ve başlatma durumunu doğrulamak için:
Kabuğa kök olarak erişin:
$ adb root adbd is already running as root $ adb shell vsoc_arm64_pgagnostic:/ #
Sayfa boyutunu ve başlatma durumunu doğrulayın:
vsoc_arm64_pgagnostic:/ # getconf PAGE_SIZE 16384 vsoc_arm64_pgagnostic:/ # getprop | grep sys.boot.completed sys.boot_completed: 1
Mürekkep balığı ile 16 KB'lık özel sayfa boyutu çekirdeği kullanın
Önceden oluşturulmuş çekirdek yerine özel ç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 oluşturun:
$ 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
Mürekkep balığıyla başlayın, 16 KB'lık özel sayfa boyutu çekirdeğiyle başlayın
Mürekkep balığı'nda yeni oluşturulan çekirdeği 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