我的主板通过 U-Boot 启动,据我所知,引导加载程序不支持设备树覆盖,所以我可能被迫生成一个单一、静态 .dtb
所有相关的覆盖(和设置??)是否已应用到它。原则上这对我来说没问题,但该怎么做呢?
是否有一些命令行工具可以分别获取.dtb
和.dtbo
文件。.dts
和.dtsi
文件并将它们组合成一个.dtb
/ .dts
?
dtc
似乎不做那项工作。
答案1
你不需要这样做。
通过此更改,覆盖层将出现在 u-boot 中! https://github.com/u-boot/u-boot/commit/e6628ad7b99b285b25147366c68a7b956e362878
享受 :)
答案2
dts 的格式使得合并变得微不足道:您所需要做的就是 cat 或#include
单独的 dts,因为:
/dts-v1/;
/ {
a;
};
/ {
b;
};
是相同的:
/dts-v1/;
/ {
a;
b;
};
因为两者都指定了 node 的属性/
。
这可以通过以下方式观察到:
dtc a.dts
关于上面的第一个dts
。
然而,我还无法找到一种更自动化的方法来使用 Linux 内核构建系统来完成此操作。