Yocto学习笔记

Posted Jocelin47

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yocto学习笔记相关的知识,希望对你有一定的参考价值。

1、什么是Linux构建系统

2、Yocto Project是什么

yocto Project参考Gentoo Linux的eBuild构建系统设计(从Portage派生而来,Portage包含两个组件:ebuild和emerge),目的为构建定制化的嵌入式Linux发行版提供一系列模板、工具和方法。

BitBake使用和Portage构建脚本相同的元数据语法,但是引入了新
的特性,例如由类提供的继承机制、追加(appending)菜谱和全局配置
文件等。

yocto :基于python的方言 bitcake 以此之上构建生态。


buildroot适合简单的基本验证,如果要做复杂的发行版 支持不同的场景使用yocto。
yocto的缺点就是太过于灵活,一个实现方式可以有不同的写法,无一个规范的操作。

3、Yocto Project组成


OpenEmbedded和yocto 相关于孪生兄弟的关系,分不开。

yocto将其中的前两个OpenEmbedded Core和BitBake拿过来和POKY组成发行版

基于POKY衍生出右边的外围的东西

4、Yocto的基本流程


Source Materials像做菜一样 ,将各种原材料准备好
灰色部分就像你如何去做,基本的配方

中间蓝色部分就相当于厨房去做了,
Source Fetching:拉取软件包或者自己下载下来解压
Patch Application:为某些软件打上补丁
Config/Compile/Autoconf as need:为所有的菜装盘
可以构建后面三种形式软件包
QA Tests:测试软件包是否合适

Pakeage Feeds:买现成的东西回来热一下就行,相当于将别人已经编译好的代码仓库直接拿过来生成image和SDK。

5、Bitbake

5.1 bitbake是什么?

bitbake是一个灵活强大的构建引擎,基于python之上构建的语言

bitbake最后将构建的matadata,将python或shell写的脚本,决定哪些先执行,哪些后执行.

5.2 构建元数据

有了bitbake的核心机制后,就需要准备元数据

下面红色的三个是全局的配置,
上的Layer相当于不同的菜系,layer里面的conf相当于有哪些菜,最重要的是recipe(软件包配方)

5.3 bitback中的基于task的执行流

bitback最核心的还是基于task确定如何去做,基本的bb文件的执行流如下:

6、POKY

以上是关于Yocto学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

Yocto dunfell 配方,不能依赖 hdf5

如何在yocto中编写makefile的配方

在 yocto 配方中使用 npm-install

Yocto bitbake 错误:没有提供“配方名称”

Yocto学习笔记

Yocto学习笔记