我有一个Yocto项目需要花费很长时间才能编译。最终的图像是为了运行我的应用程序,因此,我在自己的图层中有一个自定义配方。
由于构建整个Yocto映像需要花费几个时间,因此我构建了一个SDK,以便我可以交叉编译我的应用程序并将二进制文件传输到正在运行的设备进行测试。
不是编译二进制文件而是必须手动将其传输到设备,
我可以使用我为SDK申请编写的Yocto配方,以便我可以打电话给#34;它的do_package()
?如果其他开发人员可以简单地从SDK中构建.deb
(假设PACKAGE_CLASSES = "package_deb"
local.conf
),这可以大大简化我们的工作流程。
谢谢!
答案 0 :(得分:4)
是的,请看devtool。 devtool脚本的目标是改进和简化目标设备的软件开发。
首先,让您的开发人员安装使用此命令构建的可扩展SDK(eSDK):
bitbake -c populate_sdk_ext my-image-name
获取此SDK后,请运行以下命令:
devtool modify my-recipe-name
...make your changes to [sdk]/workspace/source/my-recipe-name...
devtool build my-recipe-name
devtool package my-recipe-name
这应该在[sdk] / tmp / deploy / rpm / [arch] / my-recipe-name中生成应用程序包,然后可以将其部署到目标计算机。
另外,如果您的目标计算机具有网络连接,请查看devtool deploy-target
。
如果您向我提供有关您的设置的更多详细信息,我可以提供更多帮助。希望这至少可以让你指出正确的方向。
答案 1 :(得分:2)
这就是可扩展SDK的设计目的 - 提供预构建和预配置的环境,并允许您构建应用程序和其他组件,就像使用完整构建系统构建它们一样。如果ssh服务器在目标上运行,您甚至可以轻松地将输出文件部署到目标设备。
您可以使用以下命令构建可扩展SDK:
bitbake -c populate_sdk_ext <imagename>
有关详细信息,您可以阅读新的SDK manual。