27 মার্চ, 2025 থেকে, আমরা AOSP তৈরি করতে এবং অবদান রাখতে aosp-main
এর পরিবর্তে android-latest-release
ব্যবহার করার পরামর্শ দিচ্ছি। আরও তথ্যের জন্য, AOSP-তে পরিবর্তনগুলি দেখুন।
ডিভাইস গাছ ওভারলে
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
একটি ডিভাইস ট্রি (DT) নামযুক্ত নোড এবং বৈশিষ্ট্যগুলির একটি ডেটা কাঠামো যা অ-আবিষ্কারযোগ্য হার্ডওয়্যারকে বর্ণনা করে। কার্নেল, যেমন অ্যান্ড্রয়েডে ব্যবহৃত লিনাক্স কার্নেল, অ্যান্ড্রয়েড-চালিত ডিভাইসগুলির দ্বারা ব্যবহৃত বিস্তৃত হার্ডওয়্যার কনফিগারেশনকে সমর্থন করতে DTs ব্যবহার করে। হার্ডওয়্যার বিক্রেতারা তাদের নিজস্ব ডিভাইস ট্রি সোর্স (ডিটিএস) ফাইল সরবরাহ করে, যা ডিভাইস ট্রি কম্পাইলার ব্যবহার করে ডিভাইস ট্রি ব্লব (ডিটিবি) ফাইলে কম্পাইল করা হয়। এই ফাইলগুলি বুটলোডার দ্বারা ব্যবহৃত হয়। DTB ফাইলটিতে একটি বাইনারি-ফরম্যাটেড সমতল ডিভাইস ট্রি রয়েছে।
একটি ডিভাইস ট্রি ওভারলে (DTO) একটি কেন্দ্রীয় DTB কে DT-তে ওভারলেড করতে সক্ষম করে ( ওভারলের জন্য একটি ডিভাইস ট্রি ব্লব (DTBO) )। DTO ব্যবহার করে একটি বুটলোডার সিস্টেম-অন-চিপ (SoC) DT বজায় রাখতে পারে এবং গতিশীলভাবে একটি ডিভাইস-নির্দিষ্ট ডিটি ওভারলে করতে পারে, গাছে নোড যোগ করে এবং বিদ্যমান গাছের বৈশিষ্ট্যগুলিতে পরিবর্তন করতে পারে।
Android 9 রিলিজে আপডেট
অ্যান্ড্রয়েড 9-এ, কার্নেলে ইউনিফাইড ডিটিবি পাস করার আগে বুটলোডারকে অবশ্যই ডিটিও-তে সংজ্ঞায়িত বৈশিষ্ট্যগুলি পরিবর্তন করতে হবে না।
একটি ডিটি লোড করুন
বুটলোডারে একটি DT লোড করার জন্য বিল্ডিং, পার্টিশন এবং চালানো জড়িত।

চিত্র 1. বুটলোডারে ডিভাইস ট্রি লোড করার জন্য সাধারণ বাস্তবায়ন।
DTB তৈরি এবং ফ্ল্যাশ করতে:
1 ক. একটি DTB ( .dtb
) এ DTS ( .dts
) কম্পাইল করতে DTC ( dtc
) ব্যবহার করুন। ডিটিবি একটি সমতল ডিটি হিসাবে ফর্ম্যাট করা হয়েছে। 1 খ. .dtb
ফাইলটিকে একটি বুটলোডার রানটাইম অ্যাক্সেসযোগ্য স্থানে ফ্ল্যাশ করুন (নিচে বিস্তারিত)।
পার্টিশন করতে, .dtb
বসাতে ফ্ল্যাশ মেমরিতে একটি বুটলোডার রানটাইম-অ্যাক্সেসযোগ্য এবং বিশ্বস্ত অবস্থান নির্ধারণ করুন। উদাহরণ অবস্থান:

চিত্র 2. দ্বারা একটি বুট পার্টিশনে .dtb রাখুন image.gz-এ যুক্ত করা হচ্ছে এবং as পাস করা হচ্ছে "কারনেল" থেকে mkbootimg. | 
চিত্র 3. একটি অনন্য পার্টিশনে .dtb রাখুন (উদাহরণস্বরূপ, dtb পার্টিশন)। |
DTB লোড করতে এবং কার্নেল শুরু করতে:
- স্টোরেজ থেকে মেমরিতে
.dtb
লোড করুন। - লোড করা DT-এর মেমরি ঠিকানা ব্যবহার করে কার্নেল শুরু করুন।
এরপর কি?
এই পৃষ্ঠাটি একটি DT লোড করার জন্য একটি সাধারণ বুটলোডার কার্যপ্রবাহের বিবরণ দেয় এবং সাধারণ DT পদগুলির একটি তালিকা প্রদান করে। এই বিভাগের অন্যান্য পৃষ্ঠাগুলি কীভাবে বুটলোডার সমর্থন বাস্তবায়ন করতে হয়, কীভাবে আপনার DTO কম্পাইল , যাচাই এবং অপ্টিমাইজ করতে হয় এবং একাধিক DTs কীভাবে ব্যবহার করতে হয় তা বর্ণনা করে। আপনি ডিটিও সিনট্যাক্স এবং প্রয়োজনীয় ডিটিও এবং ডিটিবিও পার্টিশন ফরম্যাটিং সম্পর্কেও বিশদ পেতে পারেন।
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],null,["# Device tree overlays\n\n\u003cbr /\u003e\n\nA *device tree (DT)* is a data structure of named nodes and properties that\ndescribe non-discoverable hardware. Kernels, such as the Linux kernel\nused in Android, use DTs to support a wide range of hardware configurations used\nby Android-powered devices. Hardware vendors supply their own *device tree\nsource (DTS)* files, which are compiled into the *device tree blob (DTB)* file\nusing the *device tree compiler* . These files are then used by the\nbootloader. The DTB file contains a binary-formatted *flattened device tree*.\n\nA [*device tree overlay (DTO)*](https://lkml.org/lkml/2012/11/5/615)\nenables a central DTB to be overlaid on the DT (a *device tree blob\nfor overlay (DTBO)*). A bootloader using DTO can maintain the system-on-chip\n(SoC) DT and dynamically overlay a device-specific DT, adding nodes to the tree\nand making changes to properties in the existing tree.\n\nUpdates in Android 9 release\n----------------------------\n\nIn Android 9, the bootloader must not modify the\nproperties defined in the DTOs before passing the unified DTB to the kernel.\n\nLoad a DT\n---------\n\nLoading a DT in bootloader involves building, partitioning, and running.\n\n**Figure 1.** Typical implementation for loading device tree in bootloader.\n\n1. To create and flash the DTB:\n\n 1a. Use the DTC (`dtc`) to compile DTS (`.dts`) into a DTB (`.dtb`).\n The DTB is formatted as a flattened DT.\n 1b. Flash the `.dtb` file into a bootloader runtime-accessible location\n (detailed below).\n2. To partition, determine a bootloader runtime-accessible and trusted location\n in flash memory to put `.dtb`. Example locations:\n\n \u003cbr /\u003e\n\n |-----------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------|\n | **Figure 2.** Put .dtb in a boot partition by appending to image.gz and passing as \"kernel\" to mkbootimg. | **Figure 3.** Put .dtb in a unique partition (for example, dtb partition). |\n\n \u003cbr /\u003e\n\n3. To load the DTB and start the kernel:\n\n - Load `.dtb` from storage into memory.\n - Start kernel using the memory address of the loaded DT.\n\nWhat's next?\n------------\n\nThis page details a typical bootloader workflow for loading a DT and provides\na list of common DT terms. Other pages in this section describe how to\n[implement bootloader support](/docs/core/architecture/dto/implement), how to\n[compile](/docs/core/architecture/dto/compile), verify, and\n[optimize your DTO](/docs/core/architecture/dto/optimize), and how to\n[use multiple DTs](/docs/core/architecture/dto/multiple). You can\nalso get details on [DTO syntax](/docs/core/architecture/dto/syntax) and\nrequired\n[DTO and DTBO partition formatting](/docs/core/architecture/dto/partitions)."]]