تنفيذ DTO

يتضمّن تنفيذ تراكبات شجرة الأجهزة (DTO) تقسيم شجرة الأجهزة (DT) وإنشاء الأقسام وتقسيمها وتشغيلها. بعد إعداد عملية التنفيذ، عليك أيضًا الحفاظ على التوافق بين نوعَي البيانات المزدوجة وتحديد استراتيجية لضمان أمان كل قسم من أقسام البيانات المزدوجة.

تقسيم شجرة الأجهزة

ابدأ بتقسيم شجرة القرار إلى جزأين:

  • النوع الرئيسي للبيانات: الجزء الخاص بنظام SoC فقط والإعدادات التلقائية التي يوفّرها مورّد نظام SoC
  • Overlay DT الإعدادات الخاصة بالجهاز التي يوفّرها مصنّع التصميم الأصلي (ODM) أو المصنّع الأصلي للجهاز (OEM).

بعد تقسيم رموز DT، يجب التأكّد من التوافق بين رمز DT الرئيسي ورمز DT المتراكب، وذلك لضمان أن يؤدي دمج رمز DT الرئيسي ورمز DT المتراكب إلى إنشاء رمز DT كامل للجهاز. للحصول على تفاصيل حول تنسيق DTO وقواعده، راجِع بنية DTO. للحصول على تفاصيل حول الرموز المميزة المتعددة للأجهزة، راجِع استخدام رموز مميزة متعددة للأجهزة.

إنشاء جداول بيانات رئيسية وجداول بيانات متراكبة

لإنشاء شجرة القرار الرئيسية، اتّبِع الخطوات التالية:

  1. جمِّع ملف DT الرئيسي .dts في ملف .dtb.
  2. يمكن نقل ملف .dtb إلى قسم يمكن الوصول إليه في وقت تشغيل برنامج الإقلاع (موضّح بالتفصيل في [Partition DTs](#partition)).

لإنشاء جدول بيانات التراكب (DT)، اتّبِع الخطوات التالية:

  1. جمِّع بيانات DT .dts الظاهرة على الشاشة في ملف .dtbo. على الرغم من أنّ تنسيق الملف هذا هو نفسه تنسيق ملف .dtb الذي تم تنسيقه كملف DT مسطّح، إلا أنّ امتداد الملف المختلف يميزه عن ملف DT الرئيسي.
  2. يمكن نقل ملف .dtbo إلى قسم يمكن الوصول إليه في وقت تشغيل برنامج الإقلاع (موضّح بالتفصيل في [Partition DTs](#partition)).

للحصول على تفاصيل حول التجميع باستخدام DTC والتحقّق من نتائج DTO على المضيف، يُرجى الاطّلاع على التجميع والتحقّق.

جداول نقل البيانات الخاصة بالأقسام

تحديد موقع موثوق به يمكن الوصول إليه أثناء وقت التشغيل في ذاكرة الفلاش لوضع .dtb و.dtbo

أمثلة على المواقع الجغرافية التي يمكن أن يتواجد فيها مركز البيانات الرئيسي:

  • جزء من قسم التشغيل، يتم إلحاقه بالنواة (image.gz)
  • فصل كائنات DT الكبيرة (.dtb) في قسم مخصّص (dtb)

أمثلة على مواضع عرض الإعلان المتراكب على سطح الفيديو:

الشكل 1. ضَع .dtbo في قسم odm (لا تفعل ذلك إلا إذا كان برنامج التشغيل الأوّلي يتضمّن إمكانية تحميل البيانات من نظام الملفات الخاص بقسم odm).

الشكل 2. ضَع .dtbo في قسم فريد، مثل قسم dtbo.

ملاحظة: يعتمد حجم قسم DT الخاص بالتراكب على الجهاز وعدد التغييرات المطلوبة أعلى حزمة DT الرئيسية. عادةً، تكون سعة 8 ميغابايت كافية وتتيح إمكانية التوسّع في المستقبل إذا لزم الأمر.

بالنسبة إلى الأجهزة التي تتوافق مع التحديثات بدون التوقّف عن استخدام الهاتف (من النوع أ/ب)، يجب إجراء اختبار أ/ب على الأقسام الرئيسية الخاصة بشجرة الجهاز (DT) وشجرة الجهاز المتراكبة:

الشكل 3. مثال 1 على تقسيم DTBO إلى قسمَين A/B

الشكل 4. التقسيم A/B لقسم DTBO، المثال 2

التشغيل في برنامج الإقلاع

لتشغيل:

الشكل 5. التنفيذ النموذجي لوقت التشغيل الخاص بـ DTO في برنامج الإقلاع

  1. حمِّل .dtb من مساحة التخزين إلى الذاكرة.
  2. حمِّل .dtbo من مساحة التخزين إلى الذاكرة.
  3. تراكب .dtb مع .dtbo لإنشاء DT مدمج
  4. ابدأ النواة مع توفير عنوان الذاكرة الخاص بشجرة الأجهزة المدمجة.

الحفاظ على التوافق

يتم التعامل مع شجرة الجهاز الرئيسية (DTB) (من مورّد نظام على شريحة) على أنّها مساحة لواجهة برمجة التطبيقات (API) خاصة بـ DTBO. بعد فصل شجرة الجهاز إلى جزء مشترك بين جميع شرائح النظام على الشريحة وجزء خاص بالجهاز، يجب الحفاظ على توافق الجزأين مع بعضهما البعض في المستقبل، ويشمل ذلك ما يلي:

  • تعريف DT في DT الرئيسي على سبيل المثال، العُقد والخصائص والتصنيفات. يمكن أن يؤدّي أي تغيير في تعريف DT الرئيسي إلى تغييرات في DT المتراكب. على سبيل المثال، لتصحيح اسم عقدة في شجرة القرار الرئيسية، حدِّد تصنيف "اسم مستعار" يرتبط باسم العقدة الأصلي (لتجنُّب تغيير شجرة القرار المتراكبة).
  • تراكب الموقع الجغرافي لمتجر DT: على سبيل المثال، اسم القسم وتنسيق المتجر.

ضمان الأمان

يجب أن يضمن برنامج الإقلاع أنّ DTB أو DTBO آمن وغير معدَّل وغير تالف. يمكنك استخدام أي حلّ لتأمين DTB أو DTBO، مثل توقيع صورة التمهيد في VBoot 1.0 أو تذييل HASH في AVB (VBoot 2.0).

  • إذا كان DTB أو DTBO في قسم فريد، يمكنك إضافة هذا القسم إلى سلسلة الثقة في AVB. تبدأ سلسلة الثقة من جذر الثقة المحمي بواسطة الأجهزة، وتنتقل إلى برنامج الإقلاع الذي يتحقّق من سلامة قسم DTB أو DTBO وأصالتهما.
  • إذا كان DTB أو DTBO في قسم حالي (مثل قسم odm)، يجب أن يكون هذا القسم في سلسلة الثقة الخاصة بـ AVB. (يمكن أن يشارك قسم DTBO مفتاحًا عامًا مع قسم odm).

لمعرفة التفاصيل، يُرجى الاطّلاع على التشغيل المُتحقّق منه.