Yocto简介,及其便捷之处

平台是选了又选,换了又换,新接触一个名词,Yocto,整理点资料大家看一下

Yocto概念

Yocto ,是一个开源社区它通过提供模版、工具和方法帮助开发者创建基于linux内核的定制系统,支持ARM, PPC, MIPS, x86 (32 & 64 bit)硬件体系架构。

名词解释

  • Yocto:Yocto是这个开源项目的名称,该项目旨在帮助我们自定义Linux系统
  • Poky:Poky有两个含义。第一个含义是用来构建Linux的构建系统,值得注意的该Poky仅仅是一个概念,而非一个实体:它包含了 BitBake工具、编译工具链、BSP、诸多程序包或层,可以认为Poky即是Yocto的本质;此外Poky还有另外一层意思,使用Poky系统得到的默认参考 Linux 发行版也叫Poky(当然,我们可以对此发行版随意命名)。Poky的两个含义千万不能混淆
  • Metadata:元数据集,所谓元数据集就是发行版内各基本元素的描述与来源 
    • Recipes:.bb/.bbappend文件,配方文件,描述了从哪获取软件源码,如何配置,如何编译。bbappend和bb的区别主要在于bbappend是基于bb的,功能是对相应的bb文件作补充和覆盖,有点类似于“重写”的概念
    • Class:.bbclass文件
    • Configuration:.conf文件,即配置文件,我们可以用它来改变构建方式
  • Layers:即各种meta-xxx目录,将Metadata按层进行分类,有助于项目的维护
  • Bitbake:一个任务执行引擎,用来解析并执行Metadata
  • Output:即各种输出image

  • 总结:用yocto就像吃自助餐吗,他帮助不同口味的人定制自己喜欢吃的食物,假如用烹饪一桌酒席来形容构建发行版,则Yocto就是饭店名,Poky就是厨房(以及提供作为参考的菜的搭配套餐),Metadata就是烹饪资源(.bb/.bbappend表示配方/配方上的贴士,.conf表示厨房里的管事的小组长),Layers就是菜谱的分类(如川菜谱、粤菜谱),Bitbake就是厨师,Output就是得到的一桌酒席

  •  

    Yocto的便捷之处

    作为灵活多变且经济高效的解决方案,嵌入式 Linux展现了巨大的价值,并广泛应用于消费电子设备、网络设备、零售点和行业应用程序。然而,广泛的应用也意味着多样化的业务需求,嵌入式解决方案开发人员必须构建定制Linux 版本来满足其特定需求。本文引用地址:http://www.eepw.com.cn/article/201610/305448.htm

    这导致了嵌入式Linux 市场的乱象,一直以来,开发人员不得不向各家芯片制造厂商寻求主板支持包(BSP)和工具。而且这些部件往往是基于不同制式开发的,这无异于雪上加霜。虽然市面上有数百种可用的嵌入式Linux 发行版,但每个版本都是高度定制的,这导致了大量的重复工作,很多开发人员创建了大同小异的Linux 版本,再基于其开发自己的增值特性和功能。

    自由修改Linux 来创建定制版本是一把双刃剑,一方面证明了开源软件的巨大价值,另一方面也是导致复杂性的根源。创建定制版本在开发、集成、测试和验证方面要承担巨大的开销。由于大多数解决方案开发人员所创造的增值效应并不会很快显现,因而这些工作的“性价比”往往并不高。BSP 集成通常也比较复杂和困难,这也显著增加了项目的成本和风险。

    鉴于此,开放源代码运动的精英们意识到了统一化、一致化对于Linux性命攸关,他们聚集起来,启动了Yocto Project计划,开始为开源社区培植变革的火种。

    Yocto Project通过一个开源协作项目解决了这些难题,它提供了一整套模板、工具和方法以简化定制Linux 开发。这个开源项目得到了来自商业和开源生态系统的广泛参与和支持,包括各大芯片厂商、主流操作系统供应商和独立顾问。

    Yocto项目鼓励跨各种应用程序和设备类型的创新,支持多种硬件架构,包括x86(32 位和 64 位)、arm、PPC 和MIPS。随着硬件BSP 支持的增加和BSP 格式的标准化,这个项目创造了巨大的价值。

    作为 Yocto Project 的创始成员之一,英特尔在 Linux Foundation 的协调下,与各个社区共同致力于为嵌入式开发人员创建一个共享的开发环境,并提供了模板、工具和最佳实践,以简化定制的嵌入式 L i n ux 应用程序的开发。通过提供的关键技术,Yocto Project 与英特尔架构之间实现完美的协同增效。

    Yocto Project提供全面的开发解决方案

    Yocto Project 为嵌入式开发人员提供资源, 项目采用了OpenEmbedded-Core 作为其上游发布版本。项目拥有一个积极的社区,不断完善、测试和更新 Yocto Project 内核和其他组件。

    项目站点提供了全面的文档, 构建系统( 基于OpenEmbedded 架构)、交叉构建工具、通用的打包系统和一个应用程序开发人员 SDK。Yocto Project 提供的核心组件包括:

    x-Architecture。Yocto Project 扩展了构建系统的功能,为 Yocto Project 内核和三个构建配置文件(最小构建、sato 构建和 LSB 构建)提供了最新的经过全面测试的元数据。

    BSP。项目包含大量经过测试的 BSP,大大提高了在硬件和架构之间的可移植性,此外还提供了源代码方案以及生成的 Yocto Project 参考运行时映像。

    SDK。Yocto Project 工具可以利用 Eclipse和 Anjuta 插件自动创建一个 SDK 或应用程序开发人员工具包,SDK 可用于开发应用程序, 适用于和特定的定制运行时映像一起使用。

    使用Yocto Project带来的优势

    Yocto Project 为解决嵌入式Linux 开发乱象迈出了一大步。芯片、操作系统和设备厂商之间的协作和战略规划有助于实现广泛而一致的行业支持。因此,操作系统厂商可以基于 Yocto Project 内核来开发商业操作系统和其他产品,而且芯片厂商也可以提供硬件 BSP。

    总之,该项目为整个生态系统提供了以下获益:

    健壮的构建系统。Yocto Project 支持从其他常用构建系统轻松迁移到 Yocto Project 的经过事实验证的环境,而且新的软件版本更新也十分容易。

    灵活的定制能力。开发人员可以自由选择资源的使用,或者完善特定的组件(包括这些组件的特定版本)。

    可简单地向商业操作系统迁移。Yocto Project 的设计允许用户使用自主开发的操作系统或商业操作系统,在迁移时不会丢失优化或功能。此外,商业操作系统也可以使用 Yocto Project 作为上游资源,从而确保最大化代码重用。

    综上所述,Yocto Project赋予开发人员一个极高的起点,帮助他们避免重复工作以及不必要的维护。事实上,Yocto Project是全球最大的开源项目之一,以此为基础而开发的通用创建系统,可帮助开发人员避免从零开始,转而把时间和资源集中于开发差异化Linux设备,从而实现投资回报最大化。

你可能感兴趣的:(理论知识)