為配合主幹穩定開發模型,並確保生態系統的平台穩定性,我們將於 2026 年起,在第 2 季和第 4 季將原始碼發布至 AOSP。如要建構及貢獻 AOSP,建議使用 android-latest-release,而非 aosp-main。android-latest-release 資訊清單分支版本一律會參照推送至 AOSP 的最新版本。詳情請參閱「Android 開放原始碼計畫變更」一文。
Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
使用多個 DT
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
許多 SoC 供應商和 ODM 都支援在裝置上使用多個裝置樹狀結構 (DT),讓單一映像檔可支援多個 SKU 或設定。在這種情況下,Bootloader 會識別硬體,並在執行階段載入對應的 DT:

圖 1. 系統啟動載入程式中的多個裝置樹狀結構疊加層 (DTO)。
注意:您不一定要使用多個 DT。
設定
如要在 DTO 模型中新增對多個 DT 的支援,請設定主要 DT 清單和另一個重疊 DT 清單。

圖 2. 適用於多個 DT 的執行階段 DTO 實作。
開機載入程式應具備以下功能:
- 讀取 SoC ID,並選取對應的主 DT。
- 讀取板 ID,並據此選取一組疊加式 DT。
請只選取一個主要 DT,以便在執行階段使用。您可以選取多個疊加式資料表,但這些資料表必須與所選主要資料表相容。使用多個疊加層可避免在 DTBO 分割區中為每個電路板儲存一個疊加層,並讓系統啟動載入程式根據電路板 ID (或可能透過探測周邊裝置) 判斷所需疊加層的子集。舉例來說,板 A 可能需要由覆疊 1、3 和 5 新增的裝置,而板 B 可能需要由覆疊 1、4 和 5 新增的裝置。
分區
如要分割,請在快閃記憶體中找出可供引導程式在執行階段存取且可信的位置,用來儲存 DTB 和 DTBO (引導程式必須能夠在比對程序中找到這些檔案)。請注意,DTB 和 DTBO 無法位於相同分區。如果 DTB/DTBO 位於 dtb/dtbo 分割區,請使用「DTB 和 DTBO 分割區格式」中詳述的資料表結構和標頭格式。
在系統啟動載入程式中執行
執行方式如下:
- 找出 SoC,並從儲存空間載入對應的 .dtb 至記憶體。
- 識別主機板,並從儲存空間載入對應的
.dtbo 至記憶體。
- 將
.dtb 與 .dtbo 重疊,以便合併 DT。
- 根據合併的 DT 記憶體位址啟動核心。
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2025-07-26 (世界標準時間)。
[[["容易理解","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-26 (世界標準時間)。"],[],[]]