يدعم العديد من بائعي SoC و ODMs استخدام DTs متعددة على الجهاز ، مما يتيح لصورة واحدة تشغيل وحدات SKU / تكوينات متعددة. في مثل هذه الحالات ، يحدد برنامج bootloader الأجهزة ويحمل DT المقابل في وقت التشغيل:
ملاحظة: استخدام DTs متعددة ليس إلزاميًا.
اعداد
لإضافة دعم DTs متعددة إلى نموذج DTO ، قم بإعداد قائمة DTs الرئيسية وقائمة أخرى من DTs المتراكبة.
يجب أن يكون محمل الإقلاع قادرًا على:
- اقرأ معرف SoC وحدد شجرة الجهاز الرئيسية المقابلة ، و
- اقرأ معرف اللوحة وحدد مجموعة أشجار جهاز التراكب وفقًا لذلك.
يجب تحديد DT رئيسي واحد فقط للاستخدام في وقت التشغيل. يمكن تحديد DTs المتراكب المتعدد ولكن يجب أن تكون متوافقة مع DT الرئيسي المختار. يمكن أن يساعد استخدام التراكبات المتعددة في تجنب تخزين تراكب واحد لكل لوحة داخل قسم DTBO وتمكين أداة تحميل التشغيل من تحديد مجموعة فرعية من التراكبات المطلوبة بناءً على معرف اللوحة (أو ربما عن طريق فحص الأجهزة الطرفية). على سبيل المثال ، قد تحتاج اللوحة A إلى الأجهزة المضافة بواسطة التراكبات 1 و 3 و 5 بينما قد تحتاج اللوحة B إلى الأجهزة المضافة بواسطة التراكبات 1 و 4 و 5.
التقسيم
للتقسيم ، حدد موقع محمل الإقلاع يمكن الوصول إليه وموثوق به في ذاكرة الفلاش لتخزين DTBs و DTBOs (يجب أن يكون برنامج bootloader قادرًا على تحديد موقع هذه الملفات في عملية المطابقة). ضع في اعتبارك أن DTBs و DTBOs لا يمكن أن توجد في نفس القسم. إذا كانت DTBs / DTBOs موجودة في قسم dtb
/ dtbo
، فاستخدم بنية الجدول وتنسيق الرأس المفصل في تنسيق قسم DTB / DTBO .
يعمل في محمل الإقلاع
يهرب:
- تحديد SoC وتحميل .dtb المقابل من التخزين في الذاكرة.
- تحديد اللوحة وتحميل
.dtbo
المقابل من التخزين في الذاكرة. -
.dtb
مع.dtbo
ليكون DT مدمجًا. - ابدأ kernel بإعطاء عنوان ذاكرة DT المدمج.