डिवाइस ट्री ओवरले

एक डिवाइस ट्री (डीटी) नामित नोड्स और गुणों की एक डेटा संरचना है जो गैर-खोज योग्य हार्डवेयर का वर्णन करती है। ऑपरेटिंग सिस्टम, जैसे कि एंड्रॉइड में प्रयुक्त लिनक्स कर्नेल, एंड्रॉइड-संचालित उपकरणों द्वारा उपयोग किए जाने वाले हार्डवेयर कॉन्फ़िगरेशन की एक विस्तृत श्रृंखला का समर्थन करने के लिए डीटी का उपयोग करते हैं। हार्डवेयर विक्रेता अपने स्वयं के डीटी स्रोत फाइलों की आपूर्ति करते हैं, जिसे लिनक्स तब बूटलोडर द्वारा उपयोग की जाने वाली डिवाइस ट्री ब्लॉब (डीटीबी) फ़ाइल में संकलित करता है।

एक डिवाइस पेड़ ओवरले (डीटीओ) एक केंद्रीय डिवाइस पेड़ ब्लॉब (DTB) डिवाइस पेड़ पर आच्छादित होने के लिए सक्षम बनाता है। डीटीओ का उपयोग करने वाला बूटलोडर सिस्टम-ऑन-चिप (एसओसी) डीटी को बनाए रख सकता है और डिवाइस-विशिष्ट डीटी को गतिशील रूप से ओवरले कर सकता है, पेड़ में नोड्स जोड़ सकता है और मौजूदा पेड़ में गुणों में बदलाव कर सकता है।

यह पृष्ठ डीटी लोड करने के लिए एक विशिष्ट बूटलोडर वर्कफ़्लो का विवरण देता है और सामान्य डीटी शर्तों की एक सूची प्रदान करता है। इस भाग में अन्य पृष्ठों कैसे का वर्णन डीटीओ के लिए बूटलोडर समर्थन लागू , कैसे करने के लिए संकलन , सत्यापित करें, और अपने डीटीओ कार्यान्वयन का अनुकूलन , और कैसे करने के लिए एक से अधिक डीटीएस का उपयोग । तुम भी पर जानकारी प्राप्त कर सकते हैं डीटीओ वाक्य रचना और आवश्यक स्वरूपण डीटीओ / DTBO विभाजन

Android 9 रिलीज़ में अपडेट

एंड्रॉइड 9 में, बूटलोडर को यूनिफाइड डिवाइस ट्री ब्लॉब को कर्नेल में पास करने से पहले डिवाइस ट्री ओवरले में परिभाषित गुणों को संशोधित नहीं करना चाहिए।

डिवाइस ट्री लोड हो रहा है

बूटलोडर में डिवाइस ट्री को लोड करने में बिल्डिंग, पार्टीशन और रनिंग शामिल है।

चित्र बूटलोडर में लोड हो रहा है डिवाइस पेड़ के लिए 1. ठेठ कार्यान्वयन।
  1. निर्माण करने के लिए:
    • डिवाइस पेड़ संकलक (का प्रयोग करें dtc डिवाइस पेड़ स्रोत (संकलन) .dts एक डिवाइस पेड़ ब्लॉब (में) .dtb ), एक चपटी डिवाइस पेड़ के रूप में स्वरूपित।
    • फ्लैश .dtb एक बूटलोडर क्रम-सुलभ स्थान में फ़ाइल (नीचे विवरण)।
  2. विभाजन करने के लिए, फ्लैश मेमोरी में एक बूटलोडर क्रम-सुलभ और विश्वसनीय स्थान का निर्धारण डाल करने के लिए .dtb । उदाहरण स्थान:
    बूट विभाजन
    चित्रा 2. रखो .dtb को जोड़कर बूट विभाजन में image.gz और "के रूप में गुजर kernel करने के लिए" mkbootimg
    अद्वितीय विभाजन
    चित्रा 3. रखो .dtb एक अद्वितीय विभाजन में (उदाहरण के लिए dtb विभाजन)।
  3. चलाने के लिए:
    • लोड .dtb स्मृति में भंडारण से।
    • लोडेड डीटी का मेमोरी एड्रेस दिया गया कर्नेल प्रारंभ करें।

शब्दावली

यह खंड निम्नलिखित डिवाइस ट्री शब्दों का उपयोग करता है:

डीटी डिवाइस ट्री
डीटीबी डिवाइस ट्री ब्लॉब
डीटीबीओ ओवरले के लिए डिवाइस ट्री ब्लॉब
डीटीसी डिवाइस ट्री कंपाइलर
डीटीओ डिवाइस ट्री ओवरले
डीटीएस डिवाइस ट्री स्रोत
एफडीटी चपटी डिवाइस ट्री, एक द्विआधारी प्रारूप एक में निहित .dtb ब्लॉब फ़ाइल