يتضمّن تنفيذ تراكبات شجرة الأجهزة (DTO) تقسيم شجرة الأجهزة (DT) وإنشاء الأقسام وتقسيمها وتشغيلها. بعد إعداد عملية التنفيذ، عليك أيضًا الحفاظ على التوافق بين شجرتَي الأجهزة وتحديد استراتيجية لضمان أمان كل قسم من أقسام شجرة الأجهزة.
تقسيم شجرة الأجهزة
ابدأ بتقسيم شجرة أجهزة (DT) إلى جزأين:
- شجرة الأجهزة الرئيسية. الجزء الخاص بنظام SoC فقط والإعدادات التلقائية، التي يوفّرها مورّد نظام SoC
- Overlay DT الإعدادات الخاصة بالجهاز التي يوفّرها مصنّع الجهاز الأصلي أو مصنّع التصميم الأصلي
بعد تقسيم رموز DT، يجب التأكّد من التوافق بين رمز DT الرئيسي ورمز DT الخاص بالتراكب، وذلك لضمان أن يؤدي دمج رمز DT الرئيسي مع رمز DT الخاص بالتراكب إلى إنشاء رمز DT كامل للجهاز. للحصول على تفاصيل حول تنسيق DTO وقواعده، راجِع بنية DTO. للحصول على تفاصيل حول أجهزة DT المتعددة، راجِع استخدام أجهزة DT المتعددة.
إنشاء جداول بيانات رئيسية وجداول بيانات متراكبة
لإنشاء شجرة الأجهزة الرئيسية:
- جمِّع جدول بيانات DT الرئيسي
.dtsفي ملف.dtb. - يمكنك نقل ملف
.dtbإلى قسم يمكن الوصول إليه في وقت التشغيل من خلال برنامج تحميل التشغيل (موضّح بالتفصيل في [Partition DTs](#partition)).
لإنشاء جدول بيانات التراكب (DT)، اتّبِع الخطوات التالية:
- جمِّع بيانات شجرة الأجهزة (DT)
.dtsفي ملف.dtbo. على الرغم من أنّ تنسيق الملف هذا هو نفسه تنسيق ملف.dtbكملف DT مسطّح، إلا أنّ امتداد الملف المختلف يميزه عن ملف DT الرئيسي. - يمكنك نقل ملف
.dtboإلى قسم يمكن الوصول إليه في وقت التشغيل من خلال برنامج تحميل التشغيل (موضّح بالتفصيل في [Partition DTs](#partition)).
للحصول على تفاصيل حول التوافق مع DTC والتحقّق من نتائج DTO على المضيف، يُرجى الاطّلاع على التوافق والتحقّق.
نقل بيانات الأقسام
تحديد موقع موثوق به يمكن الوصول إليه أثناء وقت تشغيل برنامج الإقلاع في ذاكرة الفلاش لوضع .dtb و.dtbo.
أمثلة على المواقع الجغرافية التي يمكن أن يظهر فيها الوصف الرئيسي:
- جزء من قسم التشغيل، يتم إلحاقه بالنواة (
image.gz) - فصل كائنات البيانات الكبيرة (
.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 في برنامج الإقلاع
- حمِّل
.dtbمن مساحة التخزين إلى الذاكرة. - حمِّل
.dtboمن مساحة التخزين إلى الذاكرة. - تراكب
.dtbمع.dtboلإنشاء DT مدمج - ابدأ النواة مع توفير عنوان الذاكرة الخاص بشجرة الأجهزة المدمجة.
الحفاظ على التوافق
يتم التعامل مع شجرة الجهاز الرئيسية (من مورّد النظام على الرقاقة) على أنّها مساحة لواجهة برمجة التطبيقات خاصة بـ DTBO. بعد فصل شجرة الجهاز إلى جزء مشترك في نظام على شريحة وجزء خاص بالجهاز، يجب الحفاظ على توافق الجزأين مع بعضهما البعض في المستقبل، ويشمل ذلك ما يلي:
- تعريف DT في DT الرئيسي على سبيل المثال، العُقد والخصائص والتصنيفات. يمكن أن يؤدي أي تغيير في تعريف DT الرئيسي إلى تغييرات في DT المتراكب. على سبيل المثال، لتصحيح اسم عقدة في شجرة بيانات رئيسية، حدِّد تصنيف "اسم مستعار" يرتبط باسم العقدة الأصلي (لتجنُّب تغيير شجرة بيانات التراكب).
- تراكب الموقع الجغرافي لمتجر DT على سبيل المثال، اسم القسم وتنسيق المتجر.
ضمان الأمان
يجب أن يضمن برنامج الإقلاع أنّ DTB أو DTBO آمن وغير معدَّل وغير تالف. يمكنك استخدام أي حلّ لتأمين DTB أو DTBO، مثل توقيع صورة التمهيد في VBoot 1.0 أو تذييل تجزئة AVB (VBoot 2.0).
- إذا كان DTB أو DTBO في قسم فريد، يمكنك إضافة هذا القسم إلى سلسلة الثقة في AVB. تبدأ سلسلة الثقة من جذر الثقة المحمي بواسطة الأجهزة وتنتقل إلى برنامج الإقلاع، الذي يتحقّق من صحة البيانات وقسم DTB أو DTBO وأصالتهما.
- إذا كان DTB أو DTBO في قسم حالي (مثل قسم
odm)، يجب أن يكون هذا القسم في سلسلة الثقة الخاصة بـ AVB. (يمكن أن يشارك قسم DTBO مفتاحًا عامًا مع قسمodm).
لمعرفة التفاصيل، يُرجى الاطّلاع على التشغيل المُتحقّق منه.