什么是yocto

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

yocto的发行版为Poky,也是用来构建系统的基本工具。\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的设计使您只需根据需要添加所需内容或包,而无需删除和减少默认分发。YoctoProject提供了一个示例嵌入式发行版(Poky)\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/

yocto 学习:1- 什么是yocto相关推荐

  1. 【Yocto学习入门】01 - Yocto简介

    [Yocto学习入门]01 - Yocto简介 一.什么是yocto? 二.openembedded,poky和yocto的关系 三.BitBake 是什么 四.yocto的工作流程 五.Yocto ...

  2. 【Yocto学习入门】03 - Yocto 代码初步了解

    一.新建一个Layer 可以参考bitbake-layers 程序: ciellee@ciellee-ubuntu:~/work/Poky/poky$ bitbake-layers --help NO ...

  3. 【Yocto学习入门】02 - 构建一个简单的Poky参考嵌入式操作系统

    [Yocto学习入门]02 - 构建一个简单的Poky参考嵌入式操作系统 一.开发环境准备 二.下载 Poky 代码 三.配置编译环境 3.1 下载失败情况处理 Failed to fetch URL ...

  4. 【问题】yocto学习:ERROR: Execution of event handler ‘sstate_eventhandler2‘ failed

    bitbake在最简单的配方上失败了 1. 编译报错问题:ERROR: Execution of event handler 'sstate_eventhandler2' failed 下载yocto ...

  5. rockchip的yocto编译环境的搭建

    作者:良知犹存 转载授权以及围观:欢迎添加微信公众号:Conscience_Remains 总述   嵌入式的朋友们,应该知道Linux驱动开发过程中,需要进行搭建交叉编译工具链环境.移植u-boot ...

  6. (一)Yocto的介绍

    一.概念及介绍 Yocto项目是一个开源协作项目,可帮助开发人员创建基于Linux的定制系统,这些系统专为嵌入式产品而设计,无论产品的硬件架构如何.Yocto Project提供灵活的工具集和开发环境 ...

  7. yocto(一)——yocto介绍

    本文参考yocto官方手册,如有理解不当之处,欢迎留言指出. 项目概述和概念手册:https://docs.yoctoproject.org/overview-manual/index.html 项目 ...

  8. 嵌入式linux之yocto(三)qemu

    1. 简述 poky项目内置了qemu,使用qumu可以不使用开发板去快速熟悉yocto工具. 我这里时在服务器上运行,个人电脑运行太卡. 1. qemux86-64 /* 1. 设置环境和构建目录 ...

  9. Yocto开发讲解系列 - 总目录

    Yocto开发讲解系列总纲 Yocto开发专栏前言 Yocto开发专栏总目录 快速上手 Yocto理论篇 Metadata Layer BitBake工具 Toolchain或交叉编译器 Linux内 ...

最新文章

  1. C# Socket编程笔记
  2. WinForm 天猫2013双11自动抢红包【源码下载】
  3. LVS+DR源码安装
  4. linux 文件及目录结构体系
  5. 从C语言开始的语言革命
  6. C++串行编程步骤介绍
  7. linux mysql 主从分离_MySQL主从分离基本配置
  8. java文件运行错误_java项目中运行错误
  9. What is yield
  10. 计算机硬件知识ppt课件,计算机硬件课件
  11. c语言自动插桩,静态插桩的方式来实现Hook Method
  12. postman——基础操作——API请求与响应——构造器
  13. linux命令 mml,微软开源用于Spark的深度学习库MMLSpark
  14. ROS Base path和Source space不一致问题,修改文件名后无法make问题,catkin_make报错问题
  15. Pro Android学习笔记(一五五):传感器(5): 磁场传感器和方位(上)
  16. library Interpositioning 库(内插)干预技术
  17. agv调度系统3.0技术介绍
  18. IDEA 如何进行全局搜索
  19. 倍福PLC的Modbus-TCP Server入门教程
  20. hexo博客搭建及其美化

热门文章

  1. 实验3 STP简单配置及介绍
  2. 分类中常见的类别不平衡问题解决方法
  3. 2022年我应该怎么学习SAP?上篇
  4. 生成叠加高斯分布噪声的方波
  5. 3秒测试:组建一个网络,需要几个硬件设备搞定?
  6. 使用JavaBean封装对数据库的访问、连接池的配置和使用
  7. mysql cpu 内存的选择
  8. 简单实用,聊聊我常用的 4 款 Pandas 自动数据分析神器
  9. blinker 第三方库_blinker 库开发注意事项
  10. 侬用洲的移动通信复习资料