Yocto Kirkstone分支中如何通过do_deploy向config.txt追加内容?
Yocto Kirkstone分支中如何通过do_deploy向config.txt追加内容?
我来帮你解决这个问题,你遇到的报错完全是因为Kirkstone分支对BitBake的override语法做了更新——旧的_append后缀写法已经被废弃,必须改用新的:append语法,这就是你看到“old override syntax error”的原因。
直接重写do_deploy()会覆盖原rpi-config recipe里的逻辑,自然会把原本的config.txt内容完全替换掉,这肯定不是你想要的效果。正确的做法是用新的语法来追加逻辑,而不是重写整个函数。
给你整理好的正确rpi-config_git.bbappend内容:
DEPENDS:append = " linux-raspberrypi dtc-native" inherit deploy do_deploy:append() { echo "dtoverlay=x-y-overlay" >> ${DEPLOYDIR}/bootfiles/config.txt }
这里有几个关键点要注意:
- 把两个
DEPENDS:append合并成一行,更简洁规范 - 用
do_deploy:append()替代旧的do_deploy_append(),这是Kirkstone要求的新语法 - 不需要再写
addtask deploy after do_compile,因为原rpi-config的recipe已经定义了deploy任务,追加逻辑时重复添加会导致任务冲突,:append本身就会把你的代码放到原函数的末尾执行
这样修改后,BitBake就不会再报语法错误,而且你的设备树overlay配置会追加到原本的config.txt内容后面,完全不需要修改meta-raspberrypi层的源码,完美达成你的需求。
备注:内容来源于stack exchange,提问作者hal
相关产品推荐
相关产品推荐

