可以使用 SDK 构建 Yocto 配方吗?

Can a Yocto recipe be built using the SDK?

我有一个 Yocto 项目,需要花费一些时间来编译。最终图像适用于 运行 我的应用程序,因此,我在自己的图层中有一个自定义配方。

由于构建整个 Yocto 映像需要我们几个人的时间,因此我构建了一个 SDK,因此我可以交叉编译我的应用程序并将二进制文件传输到 运行ning 设备进行测试。

无需编译二进制文件并将其手动传输到设备, 我可以将我为我的应用程序编写的 Yocto 配方与 SDK 一起使用,以便我可以 "call" 它的 do_package() 吗?如果其他开发者可以简单地从 SDK 构建 .deb(假设 PACKAGE_CLASSES = "package_deb" in local.conf),这可以大大简化我们的工作流程。

谢谢!

这确实是可扩展 SDK 的设计目的 - 提供预构建和预配置的环境,并允许您以几乎与使用完整构建系统构建应用程序和其他组件相同的方式构建应用程序和其他组件.如果目标设备上有 ssh 服务器 运行,您甚至可以轻松地将输出文件部署到目标设备。

您可以使用以下命令构建可扩展的 SDK:

bitbake -c populate_sdk_ext <imagename>

有关更多信息,您不妨阅读新的 SDK manual

呵呵,bluelightning先发制人。那会教我不点击刷新。不管怎样,这是我的 2¢:

是的,看看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

如果您能提供更多关于您的设置的详细信息,我可能会提供更多帮助。希望这至少能让你找到正确的方向。