yocto 学习:1- 什么是yocto

什么是yocto

Yocto项目(YP)是一个开源协作项目,可帮助开发人员创建基于Linux的自定义系统,而无需考虑其硬件体系结构。 该项目提供了一套灵活的工具和空间,全世界的嵌入式开发人员可以在其中共享技术,软件堆栈,配置和最佳实践,这些技术, 可用于为嵌入式和IOT设备或需要定制Linux OS的地方创建量身定制的Linux映像。

y o c t o 的发行版为 P o k y ,也是用来构建系统的基本工具。 \color{red}{yocto的发行版为Poky,也是用来构建系统的基本工具。} yocto的发行版为Poky,也是用来构建系统的基本工具。 Poky包含定制版OpenEmbedded(OE Core)和BitBake构建引擎,以及帮助我们构建系统的其他元数据, 在BitBake的调度下,很好的协调meta-poky、meta-yocto-bsp等元数据层,定制我们所需要的系统。 Poky是典型嵌入式系统所需功能的基本规范,也是Yocto项目中允许您将发行版构建成可用二进制映像的基本规范

Yocto Project适用于任何架构。无论是芯片还是ODM供应商都编写了支持性的BSP,或者如果您有自定义芯片,您可以按照YP的规格创建BSP。Yocto Project支持Intel,ARM,MIPS,AMD,PPC等 大多数ODM,OSV和芯片供应商提供SDK,BSP和其他支持结构,以便与Yocto Project一起使用。 它专为受限制的嵌入式和物联网设备需求而设计。Yocto Project的设计使您只需根据需要添加所需内容或包,而无需删除和减少默认分发。 Y o c t o P r o j e c t 提供了一个示例嵌入式发行版( P o k y ) \color{red}{Yocto Project提供了一个示例嵌入式发行版(Poky)} YoctoProject提供了一个示例嵌入式发行版(Poky,以帮助您快速入门。 Yocto Project提供全面的工具链功能。此工具链已经过Yocto社区在各种架构和平台上的测试。 Yocto Project遵循严格的发布计划,在所有受支持的版本中包含安全补丁。最新的2个版本支持CVE(常见漏洞和风险)问题。

参见 https://www.yoctoproject.org/software-overview/

openembedded,poky和yocto的关系

请添加图片描述

Poky, the reference embedded OS is actually a working BUILD EXAMPLE which will build a small embedded OS with the included build system (BitBake, the build engine and OpenEmbedded-Core, the core build system metadata).

The build system is downloaded with Poky build instruction “files” called recipes and layers (defined below). You can alter, copy, or use the Poky build specifics in any way you might need to in order to create your custom embedded Linux.

poky 参见:https://www.yoctoproject.org/software-overview/reference-distribution/

BitBake是什么

从根本上讲,BitBake是一个通用的任务执行引擎,它允许Shell和Python任务在复杂的任务间相关性约束内工作时高效且并行地运行。 BitBake的主要用户之一OpenEmbedded以此内核为基础,并使用面向任务的方法构建嵌入式Linux软件堆栈。

从概念上讲,BitBake在某些方面类似于GNU Make,但有很大的区别:

  • BitBake根据提供的构成任务的元数据执行任务。元数据存储在配方(.bb)和相关的配方“追加”(.bbappend)文件,配置(.conf)和基础包含(.inc)文件以及类(.bbclass)文件中。元数据向BitBake提供有关要运行哪些任务以及这些任务之间的依赖关系的说明。

  • BitBake包含一个提取程序库,用于从各个地方(例如本地文件,源代码控制系统或网站)获取源代码。

  • 每个要构建的单元的指令(例如,一个软件)被称为“配方”文件,其中包含有关该单元的所有信息(依赖项,源文件位置,校验和,描述等)。

  • BitBake包括客户端/服务器抽象,可以从命令行使用,也可以通过XML-RPC用作服务,并且具有多个不同的用户界面。

yocto的工作流程

请添加图片描述

  1. To begin, developers specify architecture, policies, patches and configuration details.
  2. The build system then fetches and downloads the source code from where ever specified. The project supports standard methods such as tarballs or source code repositories systems such as git.
  3. Once downloaded, the sources are extracted into a local work area where patches are applied and common steps for configuring and compiling the software will be run.
  4. The software is then installed into a temporary staging area where the binary package format you select (deb, rpm, or ipk) will be used to roll up the software.
  5. Different QA and sanity checks are run throughout entire build process.
  6. After the binaries are created, a binary package feed is generated which is then used to create the final root file image.
  7. The file system image is generated.
  1. 首先,开发人员指定架构,策略,补丁和配置详细信息。

  2. 然后,构建系统从第一步中指定的位置获取并下载源代码。该项目支持标准方法(例如tarball)或源代码存储库系统(例如git)。

  3. 下载后,将源提取到本地工作区中,在该工作区中将应用补丁,并且将运行用于配置和编译软件的常见步骤。

  4. 然后将软件安装到临时暂存区域,在该区域中,您选择的二进制软件包格式(deb,rpm或ipk)将用于汇总软件。

  5. 在整个构建过程中都会运行不同的质量检查和健全性检查。

  6. 创建二进制文件后,将生成二进制程序包提要,然后将其用于创建最终的根文件映像。

  7. 生成文件系统映像。

参考

https://taotaodiy-yocto.readthedocs.io/en/latest/yocto/yocto.html

yocto官网 https://www.yoctoproject.org/

官方文档 https://docs.yoctoproject.org/index.html

官方论坛 https://wiki.yoctoproject.org/wiki/TipsAndTricks

BitBake文档 https://docs.yoctoproject.org/bitbake/bitbake-user-manual/bitbake-user-manual-intro.html

ject.org/bitbake/bitbake-user-manual/bitbake-user-manual-intro.html

OpenEmbedded http://www.openembedded.org/

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值