डिवाइस ट्री (DT), नाम वाले नोड और प्रॉपर्टी का एक डेटा स्ट्रक्चर होता है जो ऐसे हार्डवेयर के बारे में बताता है जिसे खोजा नहीं जा सकता. कर्नेल, जैसे कि Linux कर्नेल इसका इस्तेमाल Android में किया जाता है, तो DT का इस्तेमाल करके हार्डवेयर कॉन्फ़िगरेशन की बड़ी रेंज इस्तेमाल की जा सकती है. Android-पावर्ड डिवाइसों के हिसाब से बनाया जा सकता है. हार्डवेयर वेंडर, अपना डिवाइस ट्री उपलब्ध कराते हैं स्रोत (DTS) फ़ाइलें, जिन्हें device ट्री BLOB (DTB) फ़ाइल में कंपाइल किया जाता है डिवाइस ट्री कंपाइलर का इस्तेमाल करके. इसके बाद, Google इन फ़ाइलों का इस्तेमाल कर सकता है: बूटलोडर. डीटीबी फ़ाइल में बाइनरी फ़ॉर्मैट वाला फ़्लैट किया गया डिवाइस ट्री होता है.
डिवाइस ट्री ओवरले (डीटीओ) एक केंद्रीय DTB को DT (एक डिवाइस ट्री ब्लॉब) पर ओवरले करने में सक्षम बनाता है ओवरले के लिए (DTBO)). डीटीओ का इस्तेमाल करने वाला बूटलोडर, सिस्टम-ऑन-चिप को बनाए रख सकता है (SoC) DT और डिवाइस के हिसाब से डीटी को डाइनैमिक तरीके से ओवरले करता है. इससे ट्री में नोड जोड़े जाते हैं और मौजूदा ट्री की प्रॉपर्टी में बदलाव करें.
Android 9 की रिलीज़ से जुड़े अपडेट
Android 9 में, बूटलोडर को प्रॉपर्टी को डीटीओ में परिभाषित किया गया है.
DT लोड करें
बूटलोडर में DT को लोड करने में, बिल्डिंग, पार्टिशन, और रनिंग शामिल हैं.
पहला डायग्राम. बूटलोडर में डिवाइस ट्री को लोड करने के लिए आम तौर पर लागू होने वाला तरीका.
DTB बनाने और फ़्लैश करने के लिए:
1a. डीटीसी (
dtc
) का इस्तेमाल करके डीटीएस (.dts
) को डीटीबी (.dtb
) में कंपाइल करें. डीटीबी को चपटे हुए DT के तौर पर फ़ॉर्मैट किया जाता है. 1b..dtb
फ़ाइल को ऐसी जगह पर फ़्लैश करें जहां बूटलोडर रनटाइम ऐक्सेस कर सकता हो (नीचे ज़्यादा जानकारी दी गई है).किसी बूटलोडर की जगह को बांटने के लिए, रनटाइम के दौरान ऐक्सेस की जा सकने वाली भरोसेमंद जगह तय करें
.dtb
को रखने के लिए, फ़्लैश मेमोरी में उसे सेव करें. उदाहरण स्थान:दूसरी इमेज. .dtb को बूट पार्टीशन में रखने के लिए
image.gz में जोड़ें और उसे
"कर्नेल" के तौर पर पास करें mkbootimg.तीसरी इमेज. .dtb को किसी यूनीक पार्टीशन में डालें
(उदाहरण के लिए, dtb पार्टीशन).DTB को लोड करने और कर्नेल को शुरू करने के लिए:
.dtb
को स्टोरेज से मेमोरी में लोड करें.- लोड किए गए DT के मेमोरी पते का उपयोग करके कर्नेल को शुरू करें.
आगे क्या करना है?
यह पेज एक सामान्य बूटलोडर वर्कफ़्लो की जानकारी देता है जिससे कोई DT लोड होता है और सामान्य DT शब्दों की सूची. इस सेक्शन में दिए गए दूसरे पेजों में बताया गया है कि बूटलोडर की सुविधा लागू करें. कंपाइल करना, पुष्टि करना, और अपने डीटीओ को ऑप्टिमाइज़ करें और एक से ज़्यादा DT का इस्तेमाल करें. आप साथ ही, डीटीओ सिंटैक्स के बारे में जानकारी और आवश्यक डीटीओ और DTBO की पार्टिशन के लिए फ़ॉर्मैट.