توضّح هذه الصفحة كيفية إنشاء جهاز مختلط من Cuttlefish (CHD).
جهاز CHD هو جهاز Cuttlefish افتراضي مختلط يعرض صورة نظام جهاز فعلي بدلاً من صورة نظام Cuttlefish على طبقات HAL للجهاز. في ما يلي مزايا ذلك:
التطوير والاختبار المبكّران: تتيح أجهزة CHD إمكانية التطوير والاختبار المبكّرين لبرامج النظام من الجيل التالي قبل توفّر الأجهزة الفعلية.
قابلية التوسّع: تسهّل أجهزة CHD توسيع نطاق قدرة التطوير والاختبار.
إنشاء صورة جهاز CHD
لإنشاء صورة جهاز CHD، اتّبِع الخطوات التالية:
أنشِئ الملفات المستهدَفة لهدف مورّد الجهاز وهدف الجهاز الفعلي باستخدام
make dist. أنشِئ ملفات هدف المورّد باستخدام أحد الخيارَين التاليَين:- هدف Cuttlefish كامل حالي
- هدف Cuttlefish لا ينشئ إلا ملفات مورّد Cuttlefish. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة إنشاء هدف مورّد Cuttlefish.
اجمِع ملفَي الهدفَين في ملف هدف جهاز CHD وأنشِئ صور جهاز CHD من ملف هدف جهاز CHD عن طريق تشغيل النص البرمجي
build_cf_hybrid_device.py. يجمع هذا النص البرمجي ملفَي الهدفَين في ملف هدف جهاز CHD باستخدامmerge_target_files.pyوينشئ صور جهاز CHD من ملف هدف جهاز CHD باستخدامimg_from_target_files.python3 tools/treble/cuttlefish/build_cf_hybrid_device.py \ --framework_target_files_zip <physical_device_target_files.zip> \ --vendor_target_files_zip <cuttlefish_device_target_files.zip> \ --otatools_zip <cuttlefish_otatools.zip> \ --target chd \ --output_dir <output_directory>
إنشاء هدف مورّد Cuttlefish
يمكنك استخدام aosp_cf_vendor.mk لتحديد هدف
aosp_cf_arm64_phone_vendor، الذي يمكنك استخدامه كملف هدف المورّد
لصورة جهاز CHD.
لإنشاء هدف مورّد Cuttlefish فقط، اتّبِع الخطوات التالية:
استخدِم هدف Cuttlefish الذي ينشئ عناصر كاملة:
$(call inherit-product, device/google/cuttlefish/vsoc_arm64/phone/aosp_cf.mk)حدِّد اسم الهدف:
PRODUCT_NAME := aosp_cf_arm64_phone_vendorأوقِف عمليات الإنشاء غير الضرورية من العناصر الكاملة:
PRODUCT_BUILD_SYSTEM_IMAGE := false PRODUCT_BUILD_SYSTEM_OTHER_IMAGE := false PRODUCT_BUILD_PRODUCT_IMAGE := false PRODUCT_BUILD_SYSTEM_EXT_IMAGE := false PRODUCT_BUILD_SUPER_PARTITION := false TARGET_SKIP_OTA_PACKAGE := true
اختيار بيئة مضيف لتشغيل جهاز CHD
لإعداد بيئة مضيف قابلة للتوسّع لتشغيل أجهزة CHD المستندة إلى ARM64 وإدارتها، اختَر إعدادًا استنادًا إلى سير عملك:
الأجهزة الأساسية في Google Cloud C4A (ننصح بهذا الخيار): الأجهزة الأساسية في Google Cloud C4A، مثل
c4a-standard-96-metalأوc4a-highmem-96-metal، توفّر تسريعًا أصليًا للأجهزة المستندة إلى ARM64 KVM مدعومًا بمعالجات Google Axion. يوفّر هذا الإعداد تنفيذًا عالي الأداء وقابلاً للتوسّع بدرجة كبيرة لأجهزة CHD المستندة إلى ARM64 في السحابة الإلكترونية بدون تكاليف إضافية للتحويل إلى بيئة افتراضية متداخلة. علاوةً على ذلك، يتكامل تنسيق السحابة الإلكترونية في OmniLab ATS معc4a-metalلأتمتة عملية تخصيص الأجهزة وتنسيق الاختبار وإدارة البنية الأساسية.الإعداد اليدوي للمضيف أو الإعداد المحلي (خيار بديل): إذا كنت تستخدم أجهزة ARM مخصّصة محلية أو في المختبر، أو إذا كنت تُعدّ بيئة مضيف يدويًا بدون OmniLab ATS، يُرجى الاطّلاع على مقالة تشغيل Cuttlefish على خادم محلي.