Jon*_*tan 17 linux-kernel bitbake device-tree yocto
因此,每次修改设备树时,我通常会更改自定义配方中的dts并重建图像.重建需要很长时间才能重建整个内核,然后需要构建映像并最终部署到目标设备.
是否有任何我只缺少重建设备树的技巧?
更新:
我已经将g0hl1n的答案标记为正确答案,因为这是我的问题的答案.但是,我发现使用Yocto中的内核非常麻烦:奇怪的,长路径和每次重建时文件被覆盖的风险,tmp/work-shared中内核的源代码,而内核是在tmp/work中构建的.
相反,我已经将内核开发从Yocto中移除了.Yocto有很好的工具来创建SDK(请参阅populate_sdk任务),通过快速重建和手动(或脚本化)部署,可以轻松地为内核开发设置环境.完成工作后,可以使用git diff将更改移动到配方.
以下页面上的说明非常有用:http://jumpnowtek.com/beaglebone/Working-on-the-BeagleBone-kernel.html
g0h*_*l1n 17
AFAIK有两种不同的方法可以做到这一点.
该内核的方法:使用内核提供的脚本
<build dir>/tmp/work/<machine>/<kernel-name>/<kernel-version>/git/
)./scripts/dtc/dtc -I dts -O dtb -o ./devicetree.dtb path/to/devicetree.dts
该bitbake的方法:使用内核的部署工作
$ bitbake <kernel-name> -f -c deploy
<build dir>/tmp/work/<machine>/<kernel-name>/<kernel-version>/build/arch/arm/boot/dts/
)至少对我来说,两个版本都在快速测试中工作.
更新:
我刚刚在网上找到了用yocto构建dtb的第三个版本.那个使用devshell
内核构建的yocto .有关详细信息,请参阅https://splefty.blogspot.co.at/2015/09/compiling-device-tree-using-yocto.html上的原始作者页面.