يتطلّب هذا الإعداد مضيف Linux ARM64
. توضّح هذه الصفحة كيفية إنشاء جهاز Cuttlefish وتشغيله مع إتاحة حجم الصفحة 16 كيلوبايت على ARM64
. تفترض التعليمات الواردة في هذه الصفحة أنّ حِزم Cuttlefish مثبَّتة على جهازك. للحصول على تعليمات حول كيفية تثبيتها، راجِع الخطوة 1 من تثبيت Cuttlefish.
يمكنك تشغيل Cuttlefish من خلال تنزيل العناصر المسبقة الإنشاء مباشرةً من موقع "التكامل المستمر" على Android أو إنشائها من مشروع AOSP إذا كنت بحاجة إلى تعديل رمز المصدر.
تشغيل Cuttlefish من خلال تنزيل العناصر
انتقِل إلى موقع "التكامل المستمر" على Android وأدخِل aosp-main-throttled
كاسم الفرع. انقر على أحدث إصدار من aosp_cf_arm64_phone_pgagnostic
. اتّبِع الآن التعليمات الواردة في الخطوة 5 من تثبيت 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-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
التحقّق من حجم الصفحة والتمهيد
للتحقّق من حجم الصفحة وحالة التشغيل، اتّبِع الخطوات التالية:
الوصول إلى shell كجذر:
$ adb root adbd is already running as root $ adb shell vsoc_arm64_pgagnostic:/ #
التحقّق من حجم الصفحة وحالة التشغيل:
vsoc_arm64_pgagnostic:/ # getconf PAGE_SIZE 16384 vsoc_arm64_pgagnostic:/ # getprop | grep sys.boot.completed sys.boot_completed: 1
استخدام Cuttlefish مع نواة مخصّصة بحجم صفحة 16 كيلوبايت
لاستخدام نواة مخصّصة بدلاً من نواة مُنشأة مسبقًا، اتّبِع الخطوات التالية:
أنشئ دليل مستودع لنواة 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)
إنشاء نواة بحجم صفحة يبلغ 16 كيلوبايت:
$ 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
تأكَّد من تنفيذ الإصدار بنجاح:
# Generated files $ ls out/android14-6.1/dist/Image $ ls out/android14-6.1/dist/initramfs.img
بدء Cuttlefish باستخدام نواة مخصّصة بحجم صفحة 16 كيلوبايت
لاستخدام النواة التي تم إنشاؤها حديثًا في 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