Yocto Project 是一个针对嵌入式应用,由全球各地开发人员共同开发、维护的开源软件合作项目。该项目提供模板、工具和方法,帮你创建定制的 Linux 系统和嵌入式产品,而无需关心硬件体系,适合嵌入式Linux开发人员使用,极大地简化了开发过程,因为你不用从头裁剪一个包含很多你并不需要的软件的完整的 Linux 发布版本。
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个国家的开发人员。这是世界上最大的合作开源软件项目之一。
由于采用了 OpenEmbedded 的几个关键组件,Yocto Project 兼容 OpenEmbedded 项目,你可以简单、可靠地进行编译和开发,完全支持通过 QEMU 模拟器的硬件和设备仿真。通过 Yocto 项目开发出来的 Image 可以在 QEMU模拟器中进行引导。