YOCTO入门之概述

Yocto Project(简称YP),帮助开发者创建基于linux的嵌入式系统,此过程忽略硬件架构。YP是开源的。YP提供灵活的工具、还有社区为开发者裁剪构建系统服务。

YP提供标准的硬件支持和软件栈(指YP对不同的硬件提供统一的接口interface)。

 

可参考如下网站(OpenEmbedded Project),了解开源嵌入式

https://www.openembedded.org/wiki/Main_Page

YP由三个关键部分构成:

1、一些集成工具,包括自动building、testing、bsp(板间支持的处理)、license、组件信息(关于 custom Linux-based embedded operating system)

2、一个供参考的embedded发布系统(一般叫做Poky)

3、开源嵌入式构建系统(The OpenEmbedded build system),被OpenEmbedded Project维护

组成如下图:

                                           

 

                                        

参考嵌入式OS——Poky,实际上是一个构建例子,它包含构建系统(BitBake,the build engine and OpenEmbedded-Core,the core build system metadata)。

 

定制化(裁剪)的关键——THE LAYER MODEL

YP对于嵌入式和IOT linux系统有专用的模型,是通过一个叫THE LAYER MODEL,来区别其它的系统。

用户可以分享、重用LAYER,LAYER包含之前的设置。

在构建系统时,最好利用不同的LAYER来逻辑化信息。例如,可以构建一个BSP LAYER,

GUI layer, a distro configuration, middleware, or an application。利于之后的裁剪以及重用。

更多参考信息:

1、熟悉层

https://www.yoctoproject.org/software-overview/layers/

2、更多的层的内容(开源嵌入式层索引)

http://layers.openembedded.org/layerindex/branch/master/layers/

3、YP提供的专用的BSP层

https://www.yoctoproject.org/software-overview/layers/bsps/

 

 

维护YP的组件和工具可参考https://www.yoctoproject.org/software-overview/project-components/

                                         

 本文参考如下网址:https://www.yoctoproject.org/software-overview/,图片来源于网络,侵权请通知。

参考术语:

  • Configuration Files:这些文件包含全局变量,用户定义变量和硬件配置信息。这些信息告诉bulid system 去构建什么、并把映像放入支持的特殊的平台
  • Recipe:metadata的最通用的格式。recipe包含building packages的一系列设置和任务,building packages用来构建binary image。recipe说明你将从哪获得源代码、哪些补丁需要使用。recipes说明需要哪些依赖库和需要依赖哪些其他的recipes,同时说明配置和编译的选项。这些都保存在layers中。
  • Layer:是相关的recipes的一个集合,layers允许你把相关的metadata加入到你的自定义构建系统中,并和其他的多个架构bulids相隔离。layers是分层的,可以重新它之前的信息说明。你可以从YP中包含许多的layers,并且可以通过加入你的layers来构建你自己的自定义构建系统。LayerIndex用来在YP中进行搜索。
  • Metadata:Meta-data是YP的一个关键的元素,meta-data用来构建一个linux发布版本,本包含在files中,当构建一个image的时候,用来解析build systems。通常,metadata包含recipe、配置文件、和一些构建指令的信息、还有一些数据用来控制哪些东西需要构建和如何去构建。Metadata也包含一些命令和数据来说明软件版本、从哪可以获取、变更历史、bug信息、在特殊的环境下如何自定义系统。OpenEmbeded Core是一个重要的metadata。
  • OpenEmbedded-Core:简称oe-core ,它是一个metadata,由基本的recipes、classes、一些相关文件组成,是一些不同的OpenEmbedded系统(包含YP)的公共体。它由OpenEmbedded community发布,它是一个消减的系统,严格控制核心、高可靠的核包含一系列recipes。
  • Poky:是一个参考的embedded发布系统,一个参考的测试配置,目的是:
    • 1、提供一个基本的功能性的发布版本,用来说明如何自定义自己的发布版本
    • 2、测试YP的组件,Poky来验证YP
    • 3、作为一个工具,使用户来下载YP。Poky不是一个产品级的发布版本,但是是定制化的一  个好的开始。
    • 4、Poky是oe-core顶层的一个layer。
  • Build System - "Bitbake":一个调度和执行引擎,用来解析recipes和配置数据。它来创建一个有序的树,用来有序进行编译、调度代码包含的编译,最好来执行用户的特别的image(发布版本)。Bitbake想make工具。BitBake recipes说明一个特殊的软件包(package)是如何构建的。这包含包依赖、源码的位置、配置信息、编译信息、构建、安装并且删除指令。recipes也同样用来存储变量(standard variables)。Layer中相关的recipes。在构建过程中,跟踪依赖项、本地化、交叉编译包的执行。第一步建立交叉编译环境、framework会创建合适的cross-compiler toolcharin(交叉工具编译链,Extensial SDK)来适合目标平台。
  • Packages:是构建系统的输出,用来创建最后的image。
  • Extensible Software Development Kit (ESDK):是一个用户的SDK,作用是使应用开发者可以联合他们的库、对image的修改,使代码有效。让另一个开发者使用。类似有代码管理、协作开发。
  • Image:Linux发布版本的二进制格式,用来下载到指定的设备中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值