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学习笔记的主要内容,如果未能解决你的问题,请参考以下文章