Yocto常用术语
Posted 林多
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yocto常用术语相关的知识,希望对你有一定的参考价值。
Yocto常用术语
- Yocto是一套开源、专为嵌入式定制的编译系统,它提供了toolset和开发环境,开发人员可以利用Yocto定制基于Linux的系统。
- Yocto官网介绍了其常用术语,官网链接Yocto Project Terms,了解这些术语可以加深对Yocto的认识。
Bitbake
- Yocto提供的命令,类似于“make”命令。使用bitbake命名,对特定的目标进行编译。
# -h 输出 bitbake帮助说明
bitbake -h
Classes
- Classes指扩展名为bbclass的文件。这个类文件,类似于C++程序中的公共头文件。bbclass文件中经常定义一些共同的配置、函数,比如一个名为 mymake.bbclass,在bb文件中通过inherits来使用它(将bbclass文件中定义的内容继承过来)
# 某个bb文件
inherits mymake
Recipe
- Recipe,食谱。Yocto中比较重要的概念。一个以.bb为扩展名的文件,就是一个食谱。食谱中标明了编译目标的源码、要打哪些patch(git patch)、编译配置以及编译依赖。bitbake指定的目标,就是一个食谱。比如有个叫my.bb的文件,那么编译它的方式为
bitbake my
- Recipe是编译执行的单元,Image也是一个bb文件,用一个bb文件表示。
Layer
- Layer表示一系列的食谱(Recipe),以及为了构建食谱的一些列配置文件。Yocto通过Layer进行隔离,我们可以在Yocto中加入新的Layer。理论上Layer之间互不影响,但是可以通过bbappend的方式在自己的Layer中修改其他Layer配置。
- 一般来讲 meta-* 这种文件夹就表示一个layer。可以使用bitbake命令,或者查看编译目录下的 "conf/bblayers.conf"确定当前有哪些layer。
Append Files
- Append Files即以bbapend为扩展名的文件,全称BitBake append files,这种文件可以再不修改bb文件的基础上,将修改内容append到对应的bb文件中。
- 例如有一个叫 my.bb的文件,那么只要新建一个 my.bbapend的文件,将其放在与my.bb文件同目录内,bbapend文件中的内容就会加入到bb文件中。
Configuration File
- 配置文件,以.conf结尾。包括hardware配置、全局配置信息、用户自定义配置等。
Image
- Image是编译成果物的集合,其本身也通过bb文件定义。
MetaData
- MetaData包括recipe、配置文件、编译相关信息等。与Layer的概念有些类似,它主要指用于构建目标的所有元数据。
Source Directory
- Source Directory指 proky这个目录,也就是我们通过git://git.yoctoproject.org/poky下载的Yocto项目。
Build Directory
- 编译目录,所有编译成果物输出的命令。默认为 Source Directory下的Build文件夹,编译目录也可以自定义。
source poky/oe-init-build-env my-build-dir
Cross-Development Toolchain
- 交叉编译工具链,这个概念比较通用。
Poky
- Poky是Yocto中常见的概念,并且我们下载的Yocto也是以poky命名。可以把理解为,Yocto官网写好的一个sample(怎么编译、怎么写bb、怎么做test测试、怎么定义image),开发者可以基于Poky进行定制。
OpenEmbedded-Core (OE-Core)
- 它是一个MetaData,包含了核心的recipe、配置等等。它提供了很多基础功能,比如一些预定义好的function。开发者可以利用它提供的功能,定义自己的食谱。
OpenEmbedded Build System
- 基于Yocto概念的构建系统(编译系统),它加上Poky就是整套Yocto的环境。
Container Layer
- 子层,如果某些layer比较大,那么它可能包括多个子layer。
以上是关于Yocto常用术语的主要内容,如果未能解决你的问题,请参考以下文章