跳到主要内容

Yocto Project 简介

Yocto Project 是一个针对嵌入式应用,由全球各地开发人员共同开发、维护的开源软件合作项目。该项目提供模板、工具和方法,帮你创建定制的 Linux 系统和嵌入式产品,而无需关心硬件体系,适合嵌入式Linux开发人员使用,极大地简化了开发过程,因为你不用从头裁剪一个包含很多你并不需要的软件的完整的 Linux 发布版本。

Yocto Project™ 是一个开源的协作软件,提供模板、工具和方法帮你创建定制的 Linux 系统和嵌入式产品,而无需关心硬件体系。适合嵌入式 Linux 开发人员使用。

Yocto 项目起源

Yocto Project 起源于一群年轻人想给他们自己的 PDA 编写一个操作系统,当时没有一家公司给 PDA 编写操作系统,于是这些人便想自己写一个。他们采用了 Linux Gentoo 桌面的几个工具,尤其是采用了编译工具 bitbake。刚开始 bitbake 和元数据是打包在一起的,但几年后 bitbake 从元数据中分离出来,形成了现在的 OpenEmbedded。当时有些公司采用了 OpenEmbedded 作为他们的工具,但大多数的嵌入式系统厂商依然采用自己的工具和流程来裁剪 Linux。

到了2010年,由于看到大多数公司花费大量的人力和财力干相同的事情,Wind River Systems 和 Intel 开源技术中心牵头成立了一个开源项目,旨在开发一套标准的构建工具,这套工具采用了 OpenEmbedded 的几个关键组件,任何人都可以使用,任何人都可以贡献。这个项目不以盈利为目的,而是保持开放和中立,为需要他们的社区提供工具和支持,因此这个项目开始与 Linux 基金会合作,由此诞生了 Yocto Project。

如今,Yocto Project 已经成为嵌入式 Linux 系统创建的标准方式,有18个组织和社区成员,这包括了数十家公司、数百名贡献者,以及超过140个国家的开发人员。这是世界上最大的合作开源软件项目之一。

官方网站:https://www.yoctoproject.org

为什么要用 Yocto

有许多原因使您考虑采用 Yocto Project 来构建 Linux 系统,其中主要的原因包括:

  • Yocto Project 是一个由许多专家和半导体企业组织的开源项目,发展至今已经相当可靠; Intel、AMD、ARM、NXP、TI、ST、高通等半导体厂商都是 Yocto Project 项目的成员,如果您的产品正在使用这些公司旗下的处理器,那么通常支持采用 Yocto 方式构建系统,也便于与开源社区同步。
  • Yocto Project 可以帮助您创建定制的 Linux 系统和嵌入式产品,不必过于关心硬件体系,简化了客制化 Linux 的开发过程。
  • 通过创建和维护自己的 layer,可以实现不同硬件平台、不同产品的兼容与管理,提高代码复用率。

Yocto 工作流程

版本代号

代号Yocto 版本发布日期备注
KirkstoneYocto Project 3.52022年4月未发布
HonisterYocto Project 3.42021年10月计划发布
HardknottYocto Project 3.32021年4月稳定版本
GatesgarthYocto Project 3.22020年10月稳定版本
DunfellYocto Project 3.12020年4月长期支持
ZeusYocto Project 3.02019年10月项目终止
WarriorYocto Project 2.72019年4月
ThudYocto Project 2.62018年10月
SumoYocto Project 2.52018年4月
RockoYocto Project 2.42017年10月
PyroYocto Project 2.32017年4月
MortyYocto Project 2.22016年10月
KrogothYocto Project 2.12016年4月
JethroYocto Project 2.02015年10月
FidoYocto Project 1.82015年4月
DizzyYocto Project 1.72014年10月
DaisyYocto Project 1.62014年4月
DoraYocto Project 1.52013年10月
DylanYocto Project 1.42013年4月
DannyYocto Project 1.32012年10月
DenzilYocto Project 1.22012年4月
EdisonYocto Project 1.12011年10月
BernardYocto Project 1.02011年4月
LaverneYocto Project 0.92010年10月
GreenN/A2010年6月
PurpleN/A2009年12月
PinkyN/A2009年11月
BlinkyN/A2007年8月
ClydeN/A2007年1月
InkyN/A2006年2月