关键词:Recipe、Layer、Metadata、Poky、bitbake等等。
1 关键概念
深入了解Yocto之前,先了解一些基本概念。在Software – Yocto Project有说明。
这里摘录一段中文翻译:
- 配置文件: 包含全局定义变量,用户定义变量和硬件配置信息。配置文件告诉构建系统需要构建什么,什么需要放入镜像,以支持一个特定平台。
- 配方Recipe: 元数据最常见的形式。Recipe可以包含一列用来构建二进制镜像文件的设定和任务(指令)。Recipe描述了你从哪获取代码,需要应用哪个(代码)补丁。同时Recipe还描述了对于其他Recipe或库的依赖,以及配置和编译选项。Recipe存放在Layer中。
- 层Layer: 相关Recipe的集合。Layer允许你将元数据(metadata)集合在一起,自定义你的构建。有时候你的构建是可以支持多种不同架构的,那么这种数据,可以通过Layer方式将它们独立出来。
- 元数据Metadata: Yocto Project在构建Linux发行版本时,构建系统会解析的文件(数据),Metadata是Yocto Project中很关键的一个元素。通常来说,元数据包含recipe,配置文件,其他参考构建指令的信息,以及控制构建什么/如何构建(what and how)的数据。元数据也包括命令(command),软件版本信息,从何处获取,其他用来做补丁的文件或是特定场景下需要自定义软件的信息。OpenEmbedded Core是重要的一组被验证过的元数据。
- OpenEmbedded-Core:OE-Core是基础recipe,类文件,和相关文件的元数据组合,在基于OpenEmbedded的系统中很常用,Yocto Project也使用它。OE-Core由OpenEmbedded社区将其开发的原始仓库取其核心,充分验证过的recipe的集合而形成的关键核心。
- Poky: 一个参考嵌入式发行版本,同样也用来作为提供基本功能的发行,可以用来说明(学习)如何自定义发行版本,可以测试Yocto Project组件,还可以为用户下载Yocto Project。Poky不是产品级的,但它是一个很好的定制化工作起点。Poky是在OE-Core上层的一个Layer集成。
- 构建系统 - "Bitbake": 调度和执行引擎,用来解析指令(recipe)和配置数据。然后它创建依赖树,安排编译,调度编译,最后执行定制化Linux镜像/发行版本的构建。BitBake是类似Make的一个构建工具。BitBake recipe指定一个特定包是如何被构建的,包括所有包的依赖,源代码路径,配置,编译,构建,安装,和移除指令。Recipe也在标准变量中存储包的元数据。相关Recipe形成一个Layer。构建过程中,追踪依赖,执行编译或交叉编译。作为交叉构建的第一部,bitbake框架首先创建适用于目标平台的eSDK套装。
- 包Packages: 构建系统的输出,用来创建最终的镜像。
- Extensible Software Development Kit (ESDK): 一个自定义的SDK,应用开发者可以用来将他们的库和代码改动写入镜像,为其他应用开发者提供代码。
- 镜像image: 加载到设备上的Linux发行版本(操作系统)的二进制形式。
2 Pocky通用编译流程
3 目录结构
参考文档:
《Yocto Project Reference Manual — The Yocto Project ® 3.1.23 documentation》
《 利用Yocto构建嵌入式Linux教程02--基本概念介绍》
《利用Yocto构建嵌入式Linux教程03--Yocto构建系统的配置文件》
标签:Yocto,Layer,Recipe,Project,编译,构建,Yocto2 From: https://www.cnblogs.com/arnoldlu/p/17216015.html