این راهاندازی به یک میزبان لینوکس ARM64 نیاز دارد. این صفحه نحوه ساخت و راهاندازی Cuttlefish با پشتیبانی از اندازه صفحه ۱۶ کیلوبایت در ARM64 را نشان میدهد. دستورالعملهای این صفحه فرض میکنند که بستههای Cuttlefish در دستگاه شما نصب شدهاند. برای دستورالعملهای نصب آنها، به مرحله ۱ نصب Cuttlefish مراجعه کنید.
شما میتوانید Cuttlefish را با دانلود مستقیم مصنوعات از پیش ساخته شده از سایت Android Continuous Integration یا ساخت آنها از AOSP در صورت نیاز به تغییر کد منبع، راهاندازی کنید.
با دانلود مصنوعات، Cuttlefish را اجرا کنید
به سایت Android Continuous Integration بروید و aosp-main-throttled به عنوان نام شاخه وارد کنید. روی آخرین نسخه ساخته شده برای هدف aosp_cf_arm64_phone_pgagnostic کلیک کنید. اکنون، دستورالعملهای مرحله 5 نصب Cuttlefish را دنبال کنید.
با ساخت از AOSP، Cuttlefish را راهاندازی کنید
ساخت و راهاندازی 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
اندازه صفحه و بوت را تأیید کنید
برای تأیید اندازه صفحه و وضعیت بوت:
به عنوان کاربر ریشه به پوسته دسترسی پیدا کنید:
$ 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 با هسته سفارشی با اندازه صفحه ۱۶ کیلوبایت
برای استفاده از یک هسته سفارشی، به جای یک هسته از پیش ساخته شده:
یک دایرکتوری repo برای یک هسته مشترک اندروید ایجاد کنید و دایرکتوری را همگامسازی کنید:
$ 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)ساخت هسته با اندازه صفحه ۱۶ کیلوبایت:
$ 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 با هسته سفارشی با اندازه صفحه ۱۶ کیلوبایت
برای استفاده از هسته تازه ساخته شده خود در 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