محاكاة حبَّار بحجم صفحة 16 كيلوبايت على x86_64

يتطلب هذا الإعداد مضيف Linux لنظام التشغيل x86_64. توضح هذه الصفحة كيفية إنشاء بدء حبَّار مع دعم بحجم صفحة 16 كيلوبايت على x86_64. التعليمات على أن تفترض هذه الصفحة أن حزم الحبّار قد تم تثبيتها على جهازك. بالنسبة تعليمات لتثبيتها، راجع الخطوة 1 من تثبيت الحبار.

يمكنك إطلاق تطبيق Cuttlefish من خلال تنزيل العناصر المصمّمة مسبقًا مباشرةً من تطبيق Android Continuous Integration مباشرةً. موقعك الإلكتروني أو إنشائها من منصة AOSP إذا كنت بحاجة إلى تعديل المصدر الرمز.

تنفيذ Kernel

تمت إضافة إمكانية محاكاة صفحات x86_64 بحجم 16 كيلوبايت في الإصدار Android 14 6.6 مؤشر GKI في page_size_emulation سلسلة رموز تصحيح يؤدي تمرير page_shift=14 في سطر الأوامر إلى تفعيل هذه المحاكاة. x86_64 استهدافًا باللاحقة _16k (أو أهداف قديمة مع _pgagnostic لاحقة)، مثل aosp_cf_x86_64_phone_pgagnostic، يمكنك ضبط هذا الخيار تلقائيًا وتعمل تلقائيًا في وضع 16 كيلوبايت.

إطلاق حبَّار من خلال تنزيل العناصر

انتقِل إلى موقع "الدمج المستمر لنظام Android" أدخل aosp-main-throttled كاسم الفرع. انقر على أحدث إصدار هدف واحد (aosp_cf_x86_64_phone_pgagnostic). والآن، اتبع التعليمات الواردة في الخطوة 5 من تثبيت تطبيق حبَّار.

أطلِق حبَّار من خلال البناء من AOSP

اصنَع حبَّار وأطلقه مع هدف لا يتضمن أي صفحة:

$ 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. الوصول إلى واجهة الأوامر كجذر:

    $ 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