Дерево устройств (DT) — это структура данных, состоящая из именованных узлов и свойств, описывающих необнаруживаемое оборудование. Ядра, такие как ядро Linux, используемое в Android, используют DT для поддержки широкого спектра аппаратных конфигураций устройств на базе Android. Поставщики оборудования предоставляют собственные файлы исходного кода дерева устройств (DTS) , которые компилируются в файл BLOB-объекта дерева устройств (DTB) с помощью компилятора дерева устройств . Эти файлы затем используются загрузчиком. Файл DTB содержит сплющенное дерево устройств в двоичном формате.
Наложение дерева устройств (DTO) позволяет наложить центральный DTB на DT ( блок данных дерева устройств для наложения (DTBO) ). Загрузчик, использующий DTO, может поддерживать DT системы на кристалле (SoC) и динамически накладывать DT, специфичный для устройства, добавляя узлы в дерево и внося изменения в свойства существующего дерева.
Обновления в версии Android 9
В Android 9 загрузчик не должен изменять свойства, определенные в DTO, до передачи унифицированного DTB ядру.
Загрузить DT
Загрузка DT в загрузчик включает в себя сборку, разбиение на разделы и запуск.

Рисунок 1. Типичная реализация загрузки дерева устройств в загрузчике.
- Чтобы создать и прошить DTB: - 1a. Используйте DTC ( - dtc) для компиляции DTS (- .dts) в DTB (- .dtb). DTB отформатирован как сжатый DT. 1b. Сохраните файл- .dtbв папке, доступной для загрузчика (подробнее см. ниже).
- Для разбиения на разделы определите доступное для загрузчика и доверенное расположение во флэш-памяти для размещения файла - .dtb. Примеры расположений: - Рисунок 2. Поместите .dtb в загрузочный раздел с помощью 
 добавление к image.gz и передача как
 "ядро" в mkbootimg. - Рисунок 3. Поместите .dtb в уникальный раздел 
 (например, раздел dtb).
- Чтобы загрузить DTB и запустить ядро: -  Загрузить .dtbиз хранилища в память.
- Запустить ядро, используя адрес памяти загруженного DT.
 
-  Загрузить 
Что дальше?
На этой странице подробно описан типичный рабочий процесс загрузчика для загрузки DT и представлен список распространённых терминов DT. На других страницах этого раздела описывается, как реализовать поддержку загрузчика , как компилировать , проверять и оптимизировать DTO , а также как использовать несколько DT . Вы также можете получить подробную информацию о синтаксисе DTO и необходимом форматировании разделов DTO и DTBO .
