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