شبیه سازی کوتل ماهی با اندازه صفحه 16 کیلوبایت در x86_64

این تنظیمات به یک هاست لینوکس x86_64 نیاز دارد. این صفحه نحوه ساخت و راه اندازی Cuttlefish را با پشتیبانی از اندازه صفحه 16 کیلوبایت در x86_64 نشان می دهد. در دستورالعمل های این صفحه فرض بر این است که بسته های Cuttlefish در دستگاه شما نصب شده است. برای دستورالعمل‌های نصب آنها، به مرحله 1 نصب Cuttlefish مراجعه کنید.

شما می توانید Cuttlefish را با دانلود مستقیم مصنوعات از پیش ساخته شده از سایت Android Continuous Integration یا ساخت آنها از AOSP در صورت نیاز به تغییر کد منبع راه اندازی کنید.

پیاده سازی کرنل

پشتیبانی از شبیه سازی صفحات 16 کیلوبایتی x86_64 در اندروید 14 6.6 GKI در سری پچ page_size_emulation اضافه شده است. عبور page_shift=14 در خط فرمان این شبیه سازی را فعال می کند. اهداف x86_64 با پسوند _16k (یا اهداف قدیمی با پسوند _pgagnostic )، مانند aosp_cf_x86_64_phone_pgagnostic ، این گزینه را به طور پیش‌فرض پاس می‌کنند و به‌طور پیش‌فرض در حالت 16 کیلوبایت کار می‌کنند.

با دانلود مصنوعات، Cuttlefish را راه اندازی کنید

به سایت Android Continuous Integration بروید و aosp-main-throttled به عنوان نام شعبه وارد کنید. روی آخرین ساخت برای هدف aosp_cf_x86_64_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_x86_64_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

اندازه صفحه و بوت شدن را تأیید کنید

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

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

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

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