在Yocto中为树莓派添加设备树覆盖的相关疑问
在Yocto中为树莓派添加设备树覆盖文件的问题解答
问题与解答
已通过dev-tool创建工作区
workspace/sources/linux-raspberrypi/疑问1:dts文件存放路径
直接将自定义dts文件放到workspace/sources/linux-raspberrypi/overlays/子目录下即可,官方设备树覆盖文件都集中在此目录,符合内核源码的目录规范。疑问2:将dts文件加入Makefile的方法
打开overlays/目录下的Makefile,找到dtbo-y变量(该变量用于指定需要编译的设备树覆盖文件列表),将你的myOverlayFile.dtbo添加到这个变量的列表中。例如:dtbo-y += existing-overlay1.dtbo existing-overlay2.dtbo myOverlayFile.dtboYocto编译内核时会自动调用dtc工具,按照内核默认的正确参数编译你的dts文件生成对应的dtbo,无需手动执行dtc命令。
疑问3:机器配置文件与变量选择
- 机器配置文件名要求:
custom-machine.conf的前缀必须和你设置的MACHINE变量值完全匹配。比如你的MACHINE变量设为raspberrypi3-custom,那么配置文件名必须是raspberrypi3-custom.conf,否则Yocto无法正确加载该机器配置。 - 变量选择:对于树莓派的Yocto构建环境,meta-raspberrypi层专门提供了
RPI_KERNEL_DEVICETREE_OVERLAY变量来管理设备树覆盖文件,优先使用这个变量而非KERNEL_DEVICETREE。在你的机器配置文件中添加:
编译完成后,dtbo文件会被自动部署到镜像的RPI_KERNEL_DEVICETREE_OVERLAY += "myOverlayFile.dtbo"/boot/overlays/目录,同时相关加载配置会被写入config.txt。
- 机器配置文件名要求:
版本信息
$ bitbake --version BitBake Build Tool Core version 2.9.1 $ bitbake -e | grep '^DISTRO_VERSION\|^DISTRO_CODENAME=' DISTRO_CODENAME="styhead" DISTRO_VERSION="5.1.2"
内容的提问来源于stack exchange,提问作者Tommy
相关产品推荐
相关产品推荐

