Google致力於提高黑人社區的種族平等。 怎麼看。
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

設備樹覆蓋

設備樹(DT)是命名節點和描述不可發現硬件的屬性的數據結構。操作系統(例如Android中使用的Linux內核)使用DT支持由Android驅動的設備使用的各種硬件配置。硬件供應商提供自己的DT源文件,然後Linux將其編譯為引導加載程序使用的設備樹Blob(DTB)文件。

設備樹覆蓋 (DTO)使中央設備樹Blob(DTB)覆蓋在設備樹上。使用DTO的引導加載程序可以維護片上系統(SoC)DT,並動態覆蓋特定於設備的DT,將節點添加到樹中,並對現有樹中的屬性進行更改。

本頁詳細介紹了用於加載DT的典型引導程序工作流程,並提供了常見的DT術語列表。本節中的其他頁面描述瞭如何實現對DTO的引導加載程序支持 ,如何編譯 ,驗證和優化DTO實現以及如何使用多個DT 。您還可以獲取有關DTO語法和所需的DTO / DTBO分區格式的詳細信息

Android 9版本中的更新

在Android 9中,引導程序不得在將統一的設備樹blob傳遞給內核之前修改設備樹覆蓋中定義的屬性。

加載設備樹

在引導加載程序中加載設備樹涉及構建,分區和運行。

圖1.在引導加載程序中加載設備樹的典型實現。
  1. 建立:
    • 使用設備樹編譯器( dtc )將設備樹源( .dts )編譯為設備樹Blob( .dtb ),其格式為扁平化的設備樹。
    • .dtb文件閃存到引導加載程序運行時可訪問的位置(詳細信息如下)。
  2. 要進行分區,請在閃存中確定引導加載程序可在運行時訪問的受信任位置,以放置.dtb 。位置示例:
    引導分區
    圖2..dtb通過附加在引導分區image.gz並通過的“ kernel ”,以mkbootimg
    唯一分區
    圖3..dtb放在唯一的分區(例如dtb分區)中。
  3. 跑步:
    • 從存儲.dtb加載到內存中。
    • 給定加載的DT的內存地址,啟動內核。

術語

本節使用以下設備樹術語:

DT 設備樹
DTB 設備樹Blob
DTBO 覆蓋的設備樹Blob
DTC 設備樹編譯器
DTO 設備樹覆蓋
DTS 設備樹源
FDT 展平的設備樹, .dtb blob文件中包含的二進制格式