最新消息:20210917 已从crifan.com换到crifan.org

【整理】OpenEmbedded Yocto BitBake Poky以及之间关系

Embedded crifan 2842浏览 0评论

折腾:

【整理】嵌入式Linux 部署Python的Flask

期间,看到有提到OpenEmbedded,以及后续又提到Yocto Project和BitBake。

去搞清楚。

OpenEmbedded – Python Wiki

Openembedded.org

the build framework for embedded Linux.

Yocto Project – It’s not an embedded Linux distribution – it creates a custom one for you

Software – Yocto Project

Getting started – Openembedded.org

Category:FAQ – Openembedded.org

Documentation – Openembedded.org

Docs Overview – Yocto Project

openembedded vs yocto

Difference between Yocto Project and OpenEmbedded? – Stack Overflow

yocto – What are the differences between Open Embedded Core and meta-openembedded – Stack Overflow

OpenEmbedded – Wikipedia

OpenEmbedded is a build automation framework and cross-compile environment used to create Linux distributionsfor embedded devices

BitBake – Wikipedia

BitBake is a make-like  build tool with the special focus of distributions and packages for embedded Linux cross compilation, although it is not limited to that.

Yocto、Poky、OpenEmbedded 之间的关系 – fickyou的博客 – CSDN博客

Yocto Project – Wikipedia

The Yocto Project(r) is a Linux Foundation collaborative open source project whose goal is to produce tools and processes that enable the creation of Linux distributions for embedded and IoT software that are independent of the underlying architecture of the embedded hardware.

Yocto、Poky、OpenEmbedded 之间的关系 – fickyou的博客 – CSDN博客

【总结】

  • BitBake
    • 是什么:(类似于Make的)编译工具
    • 主要用途:嵌入式Linux(的交叉编译)
    • 侧重点:分发distribution和打包package
      • 理解:
        • 感觉是算是 嵌入式Linux系统中的包管理器
        • 就像Ubuntu中的apt,CentOS中的yum
    • 历史
      • 来自/基于:Gentoo的包管理系统Portage
      • 早期:包含在OpenEmbedded系统中的,后来独立出去了
    • 现状:
      • 目前是Yocto Project和OpenEmbedded共同维护
  • OpenEmbedded
    • 是什么:
      • 一个框架和环境
        • 框架:自动化编译框架
        • 环境:交叉编译环境
      • 也是一个社区、组织
        • 从属于:Linux Foundation workgroup
          • 主要目的去联合商业公司,推动把Linux的系统用于嵌入式产品
        • 不提供可以购买、下载、安装的东西
    • 用途:
      • 为谁:嵌入式设备
      • 做什么:编译出可用的嵌入式Linux系统
    • 核心工具和模块
      • (上面提到的)编译工具:BitBake
      • 核心通用工具:OpenEmbedded Core=OE-Core=oe-core
        • 包括:glibc/gcc/systemd等
        • OpenEmbedded和Yocto共同维护
      • 一些BSP
        • 针对不同开发板
      • 工具和服务
        • 错误报告服务,自动编译工具autobuilder等
  • Yocto=Yocto Project
    • 是什么:
      • 也是Linux Foundation旗下一个组织
        • 包含多个子项目
          • 所谓的umbrella Project
          • 负责多个项目之前的协同
            • 其中包括OpenEmbedded
    • 目的:
      • 为嵌入式设备和IoT设备提供可用的嵌入式Linux系统
        • 和OpenEmbedded目的差不多
      • 但和底层硬件和架构无关
  • Poky
    • 是Yocto出品的,一个用于演示和使用的example项目
      • 包含了:
        • 编译工具:BitBake
        • 核心工具和库:OpenEmbedded Core
        • 其他模块:
          • 用于开发嵌入式Linux的各种工具
    • 你从Yocto下载的系统,其实就是Poky
      • 然后你自己编译,裁剪,用于你的硬件和系统

 

【Yocto Project vs OpenEmbedded vs BitBake】

  • Yocto Project vs OpenEmbedded
    • OpenEmbedded比Yocto更早成立
    • Yocto Project协同多个组织,包括OpenEmbedded
      • Yocto Project推荐的编译系统是OpenEmbedded
    • OpenEmbedded和Yocto Project共同维护OpenEmbedded Core
    • 侧重点不同:
      • OpenEmbedded
        • 为各种:
          • 架构architectures
          • 功能特性features
          • 应用applications
        • 提供了大量的
          • 元数据metadata
      • Yocto Project
        • 为一堆
          • 核心的架构architectures
          • 特定的开发板boards
        • 尽力提供
          • 功能强大powerful
          • 却还简单易用 easy-to-use
          • 互操作性强interoperable=通用性强=适配性强=可移植性强
          • 严格测试well-tested
        • 各种
          • 工具tools
          • 元数据metadata
          • BSP=Board Support Packages
  • OpenEmbedded vs BitBake
    • BitBake之前是包含在OpenEmbedded内,后来独立出来的编译工具
    • OpenEmbedded目前推荐和使用的编译工具也还是:BitBake
    • 目前是Yocto Project和OpenEmbedded共同维护

 

总结:

  • 宏观上来说,可以理解为:
    • Yocto Project > OpenEmbedded > BitBake
      • 或者说:
        • BitBake来自于OpenEmbedded,OpenEmbedded从属于Yocto Project

转载请注明:在路上 » 【整理】OpenEmbedded Yocto BitBake Poky以及之间关系

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
93 queries in 0.182 seconds, using 23.41MB memory