使用 Conan 包管理器增强您的 Yocto 构建
所有嵌入式开发人员的好消息!
我们已正式发布与Yocto 项目的集成,并在我们的文档中新增了一个章节。
Yocto 项目是一个开源协作项目,它帮助开发人员创建自定义的基于 Linux 的系统,无论硬件架构如何。Yocto 包含一组工具和库,这些工具和库按层(目录)和配方组织,用于创建最终的 Linux 发行版,而无需在主机上进行任何其他要求。

这种分层和配方系统提供了一种可扩展的机制,可以将新的软件组件集成到最终的 Linux 映像中。用户可以创建自己的层,将软件部署到映像中。
Yocto 项目旨在用于嵌入式开发,因为它提供了在引导加载程序、内核和文件系统级别进行自定义的功能。Yocto 还可以生成具有特定工具链的 SDK,用于目标设备,以便交叉编译用于使用的硬件。
此外,创建支持不同硬件的映像就像更改板支持包层一样简单。这类层的作用是对硬件进行抽象,这意味着只需更改此层,我们就可以将相同的软件交付到适合不同设备的映像中。其中一些层由开源社区贡献,甚至由硬件制造商正式提供。
所有这些抽象和自定义在处理不同硬件时非常方便,但它也带来了一些缺点,例如工具集受限、开发配置困难以及构建时间长。
在您的 Yocto 构建中使用 Conan 包
使用 Conan,您可以为不同的平台创建包。这允许开发人员在不同的系统(以下示例中为 Windows)上工作,并使用他们通常的工具集进行调试和测试。
使用 Yocto SDK 工具链,可以像任何其他常规包一样交叉编译和创建包,提供相同的开发体验。此步骤可以在 CI 服务器中轻松自动化,以创建 Yocto 支持的任何嵌入式设备的包,然后上传到 Artifactory 存储库。

此外,这些交叉构建的包(上图中的 ARM v8)可以部署到最终映像中,而无需在 Yocto 构建中重新构建它们。只需从 Artifactory 存储库安装它们!
我们创建了一个meta-conan 层,它将 Conan 客户端集成到 Yocto 中,并使包的部署成为指示 Conan 引用和 Artifactory 存储库详细信息的问题。
您可以在我们文档的 Yocto 部分中查看有关此集成的所有信息。
希望您觉得有用!