استفاده از Cuttlefish با اندازه صفحه ۱۶ کیلوبایت در ARM64

این راه‌اندازی به میزبان ARM64 Linux نیاز دارد. این صفحه نحوه ساختن و راه‌اندازی Cuttlefish با پشتیبانی از اندازه صفحه ۱۶ کیلوبایت در ARM64 را نشان می‌دهد. دستورالعمل‌های این صفحه فرض می‌کند که بسته‌های Cuttlefish در دستگاهتان نصب شده است. برای دستورالعمل‌های نصب آن‌ها، به «مرحله ۱» در نصب Cuttlefish مراجعه کنید.

می‌توانید Cuttlefish را با بارگیری مصنوعات ازپیش‌ساخته مستقیماً از سایت «ادغام مداوم Android» راه‌اندازی کنید یا اگر لازم است کد منبع را اصلاح کنید، آن‌ها را از AOSP بسازید.

راه‌اندازی Cuttlefish با بارگیری داده‌های جلسه

به سایت یکپارچه‌سازی مداوم Android پیمایش کنید و aosp-main-throttled را به‌عنوان نام شاخه وارد کنید. روی جدیدترین ساخت برای هدف aosp_cf_arm64_phone_pgagnostic کلیک کنید. اکنون، دستورالعمل‌های مرحله ۵ از نصب Cuttlefish را دنبال کنید.

راه‌اندازی Cuttlefish با ساختن از AOSP

ساختن و راه‌اندازی Cuttlefish با هدف مستقل از صفحه:

$ mkdir android-latest-branch && cd android-latest-branch
$ 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_arm64_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

درستی‌سنجی اندازه صفحه و راه‌اندازی

برای درستی‌سنجی اندازه صفحه و وضعیت راه‌اندازی:

  1. به پوسته به‌عنوان ریشه دسترسی پیدا کنید:

    $ adb root
    adbd is already running as root
    $ adb shell
    vsoc_arm64_pgagnostic:/ #
    
  2. اندازه صفحه و وضعیت راه‌اندازی را درستی‌سنجی کنید:

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

استفاده از Cuttlefish با هسته سفارشی اندازه صفحه ۱۶ کیلوبایتی

برای استفاده از هسته سفارشی به‌جای هسته ازپیش ساخته‌شده:

  1. برای هسته مشترک Android، فهرست راهنمای مخزن ایجاد کنید و فهرست راهنما را همگام‌سازی کنید:

    $ 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)
    
  2. ساخت هسته با اندازه صفحه ۱۶ کیلوبایت:

    $ 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
    
  3. تأیید کنید که ساخت باموفقیت اجرا شده است:

    # Generated files
    $ ls out/android14-6.1/dist/Image
    $ ls out/android14-6.1/dist/initramfs.img
    

شروع Cuttlefish با هسته سفارشی اندازه صفحه ۱۶ کیلوبایتی

برای استفاده از هسته جدیداً ساخته‌شده در Cuttlefish:

$ 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