Kernel

如何在建構時將設備樹覆蓋合併到單個 .dtb?

  • July 7, 2017

我的板通過 U-Boot 和 AFAIK 引導,引導載入程序不支持設備樹覆蓋,所以我可能被迫生成一個單一的、靜態 .dtb的將所有相關覆蓋(和設置??)已經應用到它。原則上這對我來說沒問題,但怎麼做呢?

是否有一些命令行工具可以分別記錄.dtb.dtbo歸檔。.dts.dtsi文件並將它們組合成一個.dtb/ .dts

dtc似乎沒有做這項工作。

最終目標是讓 I²C 在通過 U-Boot 啟動的 Raspberry B+ 上工作。

你不需要這樣做。

通過此更改,覆蓋在 u-boot 中! https://github.com/u-boot/u-boot/commit/e6628ad7b99b285b25147366c68a7b956e362878

享受 :)

dts 的格式使合併變得微不足道:您需要做的就是 cat 或#include單獨的 dts,因為:

/dts-v1/;

/ {
   a;
};

/ {
   b;
};

是相同的:

/dts-v1/;

/ {
       a;
       b;
};

因為兩者都為 node 指定了一個屬性/

這可以通過以下方式觀察到:

dtc a.dts

dts上面的第一個。

然而,我還沒有找到一種更自動化的方式來使用 Linux 核心建構系統來實現這一點。

引用自:https://unix.stackexchange.com/questions/256264