يتضمن تنفيذ تراكب شجرة الجهاز (DTO) تقسيم شجرة الجهاز (DT) وإنشاء القسمة والتشغيل. بعد تنفيذ عملية ناجحة، عليك أيضًا الحفاظ على التوافق بين جدولَي البيانات التعريفيَين وتحديد استراتيجية لضمان أمان كل قسم من أقسام جدولَي البيانات التعريفيَين.
تقسيم شجرة الأجهزة
ابدأ بتقسيم DT إلى جزأين:
- 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
) - فصل وحدات تخزين DT (
.dtb
) في قسم مخصّص (dtb
)
أمثلة على مواضع DT التي تظهر على سطح الفيديو:
الشكل 1: ضع ملف .dtbo في قسم odm (لا تجرِ هذا الإجراء إلا إذا كان مُشغِّل الإقلاع لديه القدرة على تحميل البيانات من نظام الملفات في قسم odm).
الشكل 2: ضَع ملف .dtbo في قسم فريد، مثل قسم dtbo.
ملاحظة: يعتمد حجم "قسم DT المتراكب" على الجهاز وعدد التغييرات المطلوبة في "العنصر الأساسي" لملف DT. عادةً ما تكون مساحة التخزين التي تبلغ 8 ميغابايت أكثر من كافية، كما تتيح إمكانية الزيادة في المستقبل إذا لزم الأمر.
بالنسبة إلى الأجهزة التي تتيح التحديثات السلسة (A/B)، يتم استخدام ميزة A/B في قسمَي DT الرئيسي وDT المتراكب:
الشكل 3: مثال 1 على قسم DTBO A/B
الشكل 4: مثال 2 على قسم DTBO A/B
التشغيل في برنامج الإقلاع
لتنفيذ ذلك:
الشكل 5: التنفيذ المعتاد لوقت التشغيل لـ DTO في أداة تحميل البرامج
- تحميل
.dtb
من مساحة التخزين إلى الذاكرة - تحميل
.dtbo
من مساحة التخزين إلى الذاكرة - ضع
.dtb
فوق.dtbo
لإنشاء جدول بيانات مبيعات مدمج. - بدء تشغيل kernel مع تحديد عنوان الذاكرة الخاص بملف DT المدمج
الحفاظ على التوافق
يتم التعامل مع DTB الرئيسي (من موفّر شرائح SoC) كسطح عرض لواجهات برمجة التطبيقات لوحدات DTBO. بعد فصل DT إلى جزء شائع في شريحة المعالجة والجزء الخاص بالجهاز، يجب الحفاظ على توافق الجزءَين مع بعضهما في المستقبل، بما في ذلك:
- تعريف DT في DT الرئيسي على سبيل المثال، العقد والخصائص والتصنيفات. يمكن أن يؤدي أي تغيير في التعريف في DT الرئيسي إلى تغييرات في DT المتراكب. على سبيل المثال، لتصحيح اسم عقدة في DT الرئيسية، حدِّد تصنيفًا "الاسم المعرِّف" الذي يرتبط باسم العقدة الأصلي (لتجنُّب تغيير DT التراكب).
- تراكب الموقع الجغرافي لمتجر DT: على سبيل المثال، اسم التقسيم، تنسيق المتجر.
ضمان الأمان
يجب أن يضمن برنامج الإقلاع أنّ ملف DTB أو DTBO آمن وغير معدَّل وغير تالف. يمكنك استخدام أي حلّ لتأمين DTB أو DTBO، على سبيل المثال، توقيع صورة التمهيد في VBoot 1.0 أو AVB تذييل HASH (VBoot 2.0).
- إذا كان DTB أو DTBO في قسم فريد، يمكنك إضافة هذا القسم إلى سلسلة الثقة في AVB. تبدأ سلسلة الثقة من جذر الثقة المحمي بالأجهزة وتنتقل إلى برنامج الإقلاع الذي يتحقق من سلامة ملف DTB أو DTBO وأصالةه.
- إذا كان DTB أو DTBO في قسم حالي (مثل القسم
odm
)، يجب أن يكون هذا القسم في سلسلة الثقة الخاصة بAVB. (يمكن أن يشارك قسم DTBO مفتاحًا عامًا مع القسمodm
).
لمعرفة التفاصيل، يُرجى الاطّلاع على التشغيل المُتحقّق منه.