تنطبق المتطلبات الواردة في هذه الصفحة على نظام التشغيل الضيف.
الذاكرة
يجب أن يستوفي النظام الحد الأدنى من متطلبات الذاكرة التالية:
- ذاكرة بسعة 1 غيغابايت لنظام يتضمّن حِزم خدمات قليلة
- ذاكرة بسعة 2 غيغابايت لكل جهاز افتراضي (ننصح بذلك)
وحدة معالجة مركزية (CPU)
يجب أن تستوفي وحدة المعالجة المركزية المتطلبات التالية:
- التوافق مع x86_64 أو arm64-v8a أو الإصدارات الأحدث مع إضافات المحاكاة الافتراضية
- الحد الأدنى من 2.3 DMIPS/MHz، وننصح باستخدام 7 DMIPS/MHz
Kernel
يجب أن يستوفي Kernel المتطلبات التالية:
- يجب أن يستخدم النظام Kernel من GKI.
- يتوافق SDV مع الإصدارَين 6.6 و6.12 من GKI.
مساحة التخزين
يجب أن يستوفي النظام متطلبات مساحة التخزين التالية:
- يجب أن يوفّر النظام مساحة تخزين للملفات لا تقل عن 3 غيغابايت.
- يجب أن يشفّر الجهاز البيانات الخاصة بالتطبيق:
- يجب أن يكون تشفير مساحة تخزين البيانات مفعَّلاً تلقائيًا.
- يجب أن يطبّق الجهاز متطلبات تشفير مساحة تخزين البيانات هذه باستخدام إحدى طرق التشفير التالية:
- التشفير على مستوى الملفات (FBE) (مستندات FBE) وتشفير البيانات الوصفية
- التشفير على مستوى الحظر لكل مستخدم
- يجب أن يتوافق الجهاز مع الحد الأدنى من التوافق مع نموذج الأمان في Android 14 - حذف البيانات 9.12.
إدارة الطاقة
يجب أن يستوفي النظام متطلبات إدارة الطاقة التالية:
- ننصح بشدة بتوافق النظام مع ميزتَي "الإيقاف المؤقت إلى ذاكرة الوصول العشوائي" و"الإيقاف المؤقت إلى القرص".
- يجب أن يستجيب النظام لإشارات التنبيه من النظام المضيف.
الأمان
يجب أن يستوفي النظام متطلبات الأمان التالية:
- يجب أن يتوافق النظام مع نموذج الأمان في Android 14 - ميزات الأمان 9.7.
- يجب أن يتوافق النظام مع سلسلة OpenDICE، باستخدام الـ ملف SDV الشخصي لـ DICE، وهو إضافة إلى ملف Android الشخصي لـ DICE.
- يجب أن يتوافق النظام مع KeyMint الإصدار 3 أو الإصدارات الأحدث و
IRemotelyProvisionedComponentHAL الإصدار 3. - ننصح بشدة باستخدام تصميم سلسلة DICE.
واجهة ثنائية
يجب أن يستوفي النظام متطلبات الواجهة الثنائية التالية. يجب أن:
- يتوافق مع واحدة أو أكثر من واجهات التطبيق الثنائية (ABI) المحدّدة في Android NDK.
- يعرض مجموعة فرعية من واجهات التطبيق الثنائية التالية ويجب ألا يعرض أي واجهة تطبيق ثنائية غير مدرَجة في القائمة.
- يُتيح التطبيقات التي تتضمّن رمزًا مدمجًا الوصول إلى المكتبات التالية التي توفّر واجهات برمجة تطبيقات أصلية:
libc(مكتبة C)libdl(الرابط الديناميكي)libicui18n.solibicuuc.soliblog(تسجيل الأحداث في Android)libm(المكتبة الرياضية)libstdc++(دعم محدود للغة C++)libz(ضغط Zlib)
الاتصال بالشبكات
يجب أن:
- يستخدم إيثرنت لدعم بروتوكولَي TCP وUDP.
- يتوافق مع الاتصال من الضيف إلى المضيف باستخدام
vsock. - يتوافق مع الاتصال من الضيف إلى الضيف باستخدام
vsock(ننصح بذلك).
عزل رقم تعريف المستخدم والعمليات
يجب أن تتوافق عمليات تنفيذ الأجهزة مع ما يلي:
- نموذج وضع حماية تطبيقات Android، حيث يتم تشغيل كل تطبيق برقم تعريف مستخدم فريد على نمط Unix وفي عملية منفصلة. يُرجى الاطّلاع على مستند تعريف التوافق (CDD) الخاص بنظام Android.
- تشغيل تطبيقات متعددة باستخدام رقم تعريف مستخدم Linux نفسه، شرط أن تكون التطبيقات موقَّعة ومصمَّمة بشكلٍ صحيح، كما هو موضّح في مرجع الأمان والأذونات. يُرجى الاطّلاع على مستند تعريف التوافق (CDD) الخاص بنظام Android .
- نموذج أذونات الوصول إلى ملفات Android كما هو موضّح في مرجع الأمان والأذونات. يُرجى الاطّلاع على مستند تعريف التوافق (CDD) الخاص بنظام Android.
البرامج القابلة للتحديث
النظام المضيف (برنامج الإشراف)
تنطبق المتطلبات الواردة في الأقسام التالية على النظام المضيف وبيئة مراقب الأجهزة الافتراضية.
إمكانية الاتصال
يجب أن يستوفي النظام المضيف متطلبات الاتصال التالية:
- يجب أن يتوافق الجهاز مع اتصال واحد على الأقل بشبكة إيثرنت.
- يجب أن يوفّر النظام جهاز إيثرنت افتراضيًا للضيف، أو يربط جهازًا حاليًا به.
المحاكاة الافتراضية
يجب أن يستوفي النظام المضيف متطلبات المحاكاة الافتراضية التالية:
- ننصح بشدة باستخدام VirtIO لتنفيذ الأجهزة الافتراضية. يجب أن يتوافق النظام مع أجهزة VirtIO التالية:
virtio-blk: للأجهزة الافتراضية على مستوى الحظر (مساحة التخزين)virtio-console: لوحدة تحكّم تسلسلية افتراضيةvirtio-net: لواجهات الشبكة الافتراضيةvirtio-pci: لاكتشاف أجهزة virtio عبر ناقل PCI افتراضيvirtio-rng: لمولّد أرقام عشوائية للأجهزة الافتراضيةvirtio-vsock: للاتصال من المضيف إلى الضيف
- يجب أن يتواصل الضيف والمضيف باستخدام
vsock. - يجب أن يتيح المضيف الاتصال من الضيف إلى الضيف باستخدام
vsockأو إيثرنت.
مزامنة الوقت
يجب أن يستوفي النظام المضيف متطلبات مزامنة الوقت التالية:
- يجب أن يوفّر النظام المضيف مصدر وقت ثابتًا ومتسقًا لجميع الأجهزة الافتراضية الضيفة لتوفير الاتساق بين الأجهزة الافتراضية، ما يساعد في تحديد الأخطاء وتتبُّعها.
- لعرض الوقت على المضيف للضيوف، ننصح باستخدام
virtio-rtc.
البرامج القابلة للتحديث
- يجب أن يكون النظام المضيف قابلاً للتحديث عبر شبكة غير سلكية (OTA). يجب أن تكون آلية التحديث مرنة في حال انقطاع التيار الكهربائي.
الأمان
يجب أن يستوفي النظام المضيف متطلبات الأمان التالية:
- يجب أن يتوافق النظام المضيف مع سلسلة OpenDICE، باستخدام ملف SDV الشخصي لـ DICE، وهو إضافة إلى ملف Android الشخصي لـ DICE.
- يجب أن يوفّر النظام المضيف عزلاً آمنًا لمفاتيح KeyMint بين الضيوف المختلفين.
أوضاع الطاقة
يجب أن يستوفي النظام المضيف متطلبات أوضاع الطاقة التالية:
- يجب أن يتوافق النظام مع ميزة "الإيقاف المؤقت إلى ذاكرة الوصول العشوائي".
- يجب أن يبدأ النظام المضيف عملية التنبيه من وضع السكون (ذاكرة الوصول العشوائي أو القرص).
الإقلاع والإغلاق
يجب أن يستوفي النظام المضيف متطلبات الإقلاع والإغلاق التالية:
- يجب تصميم النظام المضيف بحيث يتم إقلاعه بسرعة لاستيفاء متطلبات سهولة الاستخدام في السيارات (على سبيل المثال، توفُّر الكاميرا الخلفية)، ما يعني أن يبدأ النظام المضيف في 100 ملي ثانية أو أقل.
- يجب أن يتيح المضيف إغلاقًا نظيفًا للأجهزة الافتراضية الضيفة عند إيقاف تشغيل المحرّك.
وحدة معالجة مركزية (CPU)
يجب أن يعلن الجهاز عن واجهة التطبيق الثنائية 64 بت:
يجب أن يتوافق الجهاز مع إضافات المحاكاة الافتراضية.