【问题标题】:Yocto Custom Device TreeYocto 自定义设备树
【发布时间】:2019-01-26 22:58:41
【问题描述】:

我正在尝试将自定义设备树添加到我的 yocto 构建中。

输入dts目录位于:arch/arm/boot/dts/

输出DTB目录位于:build/tmp/deploy/images/machine-name

我将自定义 DTS 文件添加到输入 dts 目录,并将其包含在 makefile 中,但是在我 bitbake 之后,我在输出 DTB 目录中看不到任何生成的文件。

任何帮助将不胜感激。

另外,我在弄清楚如何从设备树中删除功能时遇到问题。如果我想删除 i2c 我会怎么做?我知道我可以只编辑我的 DTS 文件,但我希望它被内置到配方中,所以当你运行一次 bitbake 时,它​​会自动禁用/删除任何外围设备/设备/驱动程序。

谢谢!

【问题讨论】:

  • 你必须创建一个配方,添加你自己的文件并编译它。然后你必须创建一个使用你的设备树的自己的机器。这不是一个基本过程,不像您手动构建设备树 blob,例如描述的那样。这里:wiki.xilinx.com/Build+Device+Tree+Blob
  • meta-phytec 正在这样做:git.phytec.de

标签: tree device yocto bitbake


【解决方案1】:

简答:

对于简单的更改,如果支持,建议使用设备树覆盖。

见:rpi: Device Trees, overlays, and parameters


如果您不想只是扩展或修补设备树而是使用完整的文件,您可以使用配方工具为您的内核配方创建一个简单的 bbappend 蓝图

recipetool appendsrcfile -wm colibri-imx7 ../layers/meta-mylayer/ virtual/kernel your.dts  'arch/${ARCH}/boot/dts/your.dts'

看起来像这样:

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
PACKAGE_ARCH = "${MACHINE_ARCH}"

# adding your device tree to the kernel sources
SRC_URI += "file://imx7d-colibri-emmc-mydevie.dts;subdir=git/arch/${ARCH}/boot/dts"

# compile your device tree
SRC_URI += "file://0001-compile-my-devicetree.patch"

# make dt available for kernel build things.
KERNEL_DEVICETREE_append = " imx7d-colibri-emmc-mydevice-v3.dtb "

需要 Makefile 的补丁才能在标准构建链中编译新文件

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index b0e966d..9bbd52c 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -568,6 +568,7 @@ dtb-$(CONFIG_SOC_IMX7D) += \
    imx7d-cl-som-imx7.dtb \
    imx7d-colibri-emmc-eval-v3.dtb \
    imx7d-colibri-eval-v3.dtb \
+   imx7d-colibri-emmc-mydevice.dtb \
    imx7d-nitrogen7.dtb \
    imx7d-pico-pi.dtb \
    imx7d-sbc-imx7.dtb \

现在您可以在 uboot 提示符下选择设备树 blob

setenv fdt_board=mydevice
printenv
boot

或修补 uboot 以默认使用 blob

【讨论】:

  • recipetool appendsrcfile -wm colibri-imx7 ../layers/meta-mylayer/ virtual/kernel your.dts 'arch/${ARCH}/boot/dts/your.dts' > 为什么是你的。 dts 在 /dts / 的末尾?
猜你喜欢
  • 2021-09-14
  • 2017-11-25
  • 2016-12-19
  • 2021-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
  • 2018-08-10
相关资源
最近更新 更多