يستخدم حبَّار بحجم الصفحة الذي يبلغ 16 كيلوبايت على ARM64

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

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

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

انتقِل إلى موقع "الدمج المستمر لنظام Android" أدخل aosp-main-throttled كاسم الفرع. انقر على أحدث إصدار هدف واحد (aosp_cf_arm64_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_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

التحقق من حجم الصفحة وتشغيلها

للتحقّق من حجم الصفحة وحالة التشغيل:

  1. الوصول إلى واجهة الأوامر كجذر:

    $ adb root
    adbd is already running as root
    $ adb shell
    vsoc_arm64_pgagnostic:/ #
    
  2. تأكَّد من حجم الصفحة وحالة التشغيل:

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

استخدام حبَّار مع نواة مخصصة بحجم صفحة يبلغ 16 كيلوبايت

لاستخدام نواة مخصصة، بدلاً من نواة مسبقة الإنشاء:

  1. أنشِئ دليل repo لنواة 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)
    
  2. إصدار نواة بحجم 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
    
  3. تأكَّد من تنفيذ الإصدار بنجاح:

    # Generated files
    $ ls out/android14-6.1/dist/Image
    $ ls out/android14-6.1/dist/initramfs.img
    

ابدأ تشغيل حبَّار مع نواة مخصّصة بحجم صفحة يبلغ 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