2 Yocto 项目术语

2 Yocto 项目术语

以下是 Yocto 项目开发环境的新用户可能会觉得有用的术语和定义列表。虽然其中一些术语是通用的,但为了以防万一,该列表包括它们:

Append Files

将构建信息附加到配方文件的文件。附加文件称为 BitBake 附加文件和.bbappend文件。OpenEmbedded 构建系统期望每个附加文件都有一个相应的配方 ( .bb) 文件。此外,附加文件和相应的配方文件必须使用相同的根文件名。文件名只能在使用的文件类型后缀(例如formfactor_0.0.bb和 formfactor_0.0.bbappend)上有所不同。

附加文件中的信息扩展或覆盖同名配方文件中的信息。有关使用中的附加文件的示例,请参阅Yocto 项目开发任务手册中的“将其他层元数据与您的层一起附加”部分。

命名附加文件时,可以使用“ %”通配符来匹配配方名称。例如,假设您有一个名为如下的附加文件:

busybox_1.21.%.bbappend

该附加文件将匹配配方的任何busybox_1.21.x.bb版本。因此,附加文件将匹配以下任何配方名称:

busybox_1.21.1.bb
busybox_1.21.2.bb
busybox_1.21.3.bb
busybox_1.21.10.bb
busybox_1.21.25.bb

注意

“%”字符的使用受到限制,因为它只能直接在附加文件名称的 .bbappend 部分之前起作用。您不能在名称的任何其他位置使用通配符。

BitBake

OpenEmbedded 构建系统用来构建镜像的任务执行器和调度器。有关 BitBake 的更多信息,请参阅BitBake 用户手册

板级支持包 (BSP)

为特定硬件配置提供支持的一组驱动程序、定义和其他组件。有关 BSP 的更多信息,请参阅Yocto 项目板支持包开发人员指南

Build Directory

该术语是指 OpenEmbedded 构建系统用于构建的区域。当您source在源目录中找到设置环境脚本(即oe-init-build-env)时,将创建该区域。该 TOPDIR变量指向build目录。

创建构建目录时您有很大的灵活性。以下是显示如何创建目录的一些示例。这些示例假设您的源目录名为poky

  • 在源目录中创建构建目录,并让构建目录的名称默认为build

    $ cd poky
    $ source oe-init-build-env
    
  • 在您的主目录中创建 Build Directory 并特别命名它test-builds

    $ source poky/oe-init-build-env test-builds
    
  • 提供目录路径并专门命名构建目录。路径名中的任何中间文件夹都必须存在。下一个示例创建一个YP-25.0.2在现有目录中命名的构建 目录mybuilds

    $ source poky/oe-init-build-env mybuilds/YP-25.0.2
    

注意

默认情况下,构建目录包含TMPDIR,这是构建系统用于其工作的临时目录。TMPDIR不能在 NFS 下。因此,默认情况下,构建目录不能在 NFS 下。但是,如果您需要构建目录位于 NFS 下,您可以通过在文件中设置TMPDIRlocal.conf来使用本地驱动器来进行设置。这样做有效地将TMPDIRTOPDIR分开,后者是构建目录。

Build Host

用于在 Yocto 项目开发环境中构建映像的系统。构建系统有时被称为开发主机。

Classes

提供逻辑封装和继承的文件,以便可以定义一次常用模式,然后在多个配方中轻松使用。有关 Yocto 项目类的参考信息,请参阅“”一章。类文件以.bbclass文件扩展名结尾 。

Configuration File

保存变量的全局定义、用户定义的变量和硬件配置信息的文件。这些文件告诉 OpenEmbedded 构建系统要构建什么以及将什么放入映像以支持特定平台。

配置文件以.conf文件扩展名结尾。构建目录 中的 conf/local.conf配置文件包含影响每个构建的用户定义变量。该 配置文件只定义了这项政策建设时使用Yocto“发行”配置变量。机器配置文件位于整个 Source Directory 中,定义特定硬件的变量,仅在为该目标构建时使用(例如, 配置文件定义德州仪器 ARM Cortex-A8 开发板的变量)。meta-poky/conf/distro/poky.confmachine/beaglebone.conf

Container Layer

包含其他层的层。容器层的一个例子是 OpenEmbedded 的元开放嵌入层。该 meta-openembedded层包含许多meta-*层。

Cross-Development Toolchain

一般来说,交叉开发工具链是一组软件开发工具和实用程序,它们运行在一个架构上,并允许您为不同的或有针对性的架构开发软件。这些工具链包含特定于目标架构的交叉编译器、链接器和调试器。

Yocto 项目支持两种不同的交叉开发工具链:

  • 在为目标架构构建图像时仅由 BitBake 使用的工具链。

  • 开发人员在开发将在目标设备上运行的应用程序时在 Bi​​tBake 之外使用的可重定位工具链。

这些工具链的创建既简单又自动化。有关应用于 Yocto 项目的工具链概念的信息,请参阅Yocto 项目概述和概念手册中的“交叉开发工具链生成”部分。您还可以在Yocto 项目应用程序开发和可扩展软件开发工具包 (eSDK)手册中找到有关使用可重定位工具链的更多信息。

可扩展软件开发工具包 (eSDK)

面向应用程序开发人员的自定义 SDK。此 eSDK 允许开发人员将他们的库和编程更改合并回映像中,以便其他应用程序开发人员可以使用他们的代码。

有关 eSDK 的信息,请参阅Yocto 项目应用程序开发和可扩展软件开发工具包 (eSDK)手册。

Image

图像是给定一组配方和相关元数据的 BitBake 构建过程的工件。图像是在特定硬件或 QEMU 上运行并用于特定用例的二进制输出。有关 Yocto 项目提供的受支持图像类型的列表,请参阅“图像”一章。

Layer

相关食谱的集合。层允许您整合相关元数据以自定义您的构建。层还隔离了在为多个架构构建时使用的信息。层在覆盖先前规范的能力方面是分层的。您可以包含 Yocto 项目中任意数量的可用层,并通过在它们之后添加层来自定义构建。您可以在图层索引中搜索 Yocto 项目中使用的图层。

有关层的介绍性信息,请参阅Yocto 项目概述和概念手册中的“ Yocto 项目层模型”部分。有关层的更多详细信息,请参阅Yocto 项目开发任务手册中的“理解和创建层”部分。有关 BSP 层的专门讨论,请参阅Yocto 项目板支持包 (BSP) 开发人员指南中的“ BSP 层”部分。

Metadata

Yocto 项目的一个关键元素是用于构建 Linux 发行版的元数据,它包含在OpenEmbedded Build System 在构建映像时解析的文件中。一般来说,元数据包括配方、配置文件和其他参考构建指令本身的信息,以及用于控制构建内容和构建效果的数据。元数据还包括用于指示使用什么版本的软件、从何处获得软件的命令和数据,以及用于修复错误或定制软件以用于特定应用程序的软件本身(补丁或辅助文件)的更改或添加。特殊情况。OpenEmbedded-Core 是一组重要的经过验证的元数据。

在内核(“内核元数据”)的上下文中,该术语指的是包含在yocto-kernel-cache Git 存储库中的内核配置片段和功能 。

OpenEmbedded-Core (OE-Core)

OE-Core 是由基础配方、类和相关文件组成的元数据,这些文件旨在在许多不同的 OpenEmbedded 派生系统(包括 Yocto 项目)中通用。OE-Core 是 OpenEmbedded 社区开发的原始存储库的精选子集,该存储库已被缩减为一个较小的、持续验证的核心配方集。结果是严格控制和质量保证的核心配方。

您可以meta在 Yocto Project Source Repositories的目录中看到元数据。

开放嵌入式构建系统

特定于 Yocto 项目的构建系统。OpenEmbedded 构建系统基于另一个名为“Poky”的项目,该项目使用BitBake作为任务执行器。在 Yocto 项目文档集中,OpenEmbedded 构建系统有时简称为“构建系统”。如果引用了其他构建系统,例如主机或目标构建系统,文档会明确说明差异。

注意

有关 Poky 的一些历史信息,请参阅Poky术语。

Package

在 Yocto 项目的上下文中,该术语指的是由 BitBake 生成的配方的打包输出(即“烘焙配方”)。包通常是从配方源生成的编译后的二进制文件。你通过 BitBake 运行它来“烘焙”一些东西。

值得注意的是,“包”一词通常具有微妙的含义。例如,“构建主机所需的包”部分中提到的包是编译后的二进制文件,安装后会向您的 Linux 发行版添加功能。

另一点值得注意的是,历史上在 Yocto 项目中,配方被称为包 - 因此,存在几个看似错误命名的 BitBake 变量(例如 PRPV和 PE)。

Package Groups

任意组的软件食谱。您使用包组来保存构建时通常完成单个任务的配方。例如,软件包组可能包含公司专有或增值软件的配方。或者,包组可以包含启用图形的配方。包组实际上只是另一个配方。因为包组文件是配方,所以它们以.bb文件扩展名结尾。

Poky

狭小,这是显着的麻面-ee,是参考嵌入式分布和参考测试配置。Poky 提供以下内容:

  • 一个基本级别的功能发行版,用于说明如何自定义发行版。

  • 一种测试 Yocto 项目组件的方法(即 Poky 用于验证 Yocto 项目)。

  • 您可以通过该工具下载 Yocto 项目。

Poky 不是产品级发行版。相反,它是自定义的一个很好的起点。

注意

Poky 最初是由 OpenedHand 开发的一个开源项目。OpenedHand 从现有的 OpenEmbedded 构建系统开发 Poky,为嵌入式 Linux 创建一个商业支持的构建系统。英特尔公司收购 OpenedHand 后,poky 项目成为 Yocto 项目构建系统的基础。

Recipe

一组构建包的说明。秘籍描述了从哪里获得源代码、应用哪些补丁、如何配置源代码、如何编译它等等。配方还描述了库或其他配方的依赖关系。配方代表执行的逻辑单元、要构建的软件、要构建的图像以及使用.bb文件扩展名。

Reference Kit

一个系统的工作示例,它包括一个 BSP以及一个 构建主机和其他组件,可以在特定硬件上工作。

Source Directory

该术语是指由于创建pokyGit 存储库的本地副本git://git.yoctoproject.org/poky或扩展已发布的pokytarball而创建的目录结构。

注意

创建 poky Git 存储库的本地副本是设置源目录的推荐方法。

有时您可能会听到用于指代这种目录结构的术语“poky directory”。

注意

OpenEmbedded 构建系统不支持包含空格的文件或目录名称。确保您使用的源目录不包含这些类型的名称。

源目录包含所有支持 Yocto 项目的 BitBake、文档、元数据和其他文件。因此,您必须在开发系统上安装源目录才能使用 Yocto 项目进行任何开发。

创建 Git 存储库的本地副本时,您可以随意命名存储库。在大部分文档中,“poky”用作 poky Git 存储库本地副本的顶级文件夹的名称。因此,例如,克隆pokyGit 存储库会生成一个本地 Git 存储库,其顶级文件夹也命名为“poky”。

虽然不建议您使用 tarball 扩展来设置源目录,但如果您这样做,源目录的顶级目录名称来自 Yocto 项目发布的 tarball。例如,下载和解压 https://downloads.yoctoproject.org/releases/yocto/yocto-3.3.2/poky-hardknott-25.0.2.tar.bz2 会生成一个根文件夹名为 的源目录 poky-hardknott-25.0.2

与克隆相比,了解通过解压缩已发布的 tarball 创建的源目录之间的差异很重要git://git.yoctoproject.org/poky。当你解压一个 tarball 时,你有一个基于发布时间的文件的精确副本——一个固定的发布点。您对源目录中的本地文件所做的任何更改都在版本之上,并且只会保留在本地。另一方面,当您克隆pokyGit 存储库时,您将拥有一个活动的开发存储库,可以访问上游存储库的分支和标签。在这种情况下,您对本地源目录所做的任何本地更改都可以稍后应用于上游pokyGit 存储库的活动开发分支。

有关与 Git 存储库、分支和标签相关的概念的更多信息,请参阅Yocto 项目概述和概念手册中的“存储库、标签和分支”部分。

任务

BitBake 的执行单元(例如 do_compile、 do_fetch、 do_patch等)。

烤面包机

Yocto 项目的OpenEmbedded Build System 的Web 界面。该界面使您能够配置和运行您的构建。有关构建的信息被收集并存储在数据库中。有关烤面包机的信息,请参阅 烤面包机用户手册

上游

对不在开发系统本地但位于由源代码维护者控制的主区域中的源代码或存储库的引用。例如,为了让开发人员处理特定的代码段,他们需要首先从“上游”源获取它的副本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Yocto项目参考手册是Yocto项目的官方文档,它提供了关于Yocto项目的详尽信息和指导。Yocto项目是一个开源项目,旨在创建一个嵌入式Linux发行版的框架。参考手册为使用Yocto项目的开发人员提供了全面的参考和指南。 Yocto项目参考手册包含了以下几个主要部分: 1. 概述:介绍了Yocto项目的目标、优势和功能,以及如何进行Yocto项目的构建。 2. 开始:提供了Yocto项目的基本概念和术语的解释,帮助读者了解Yocto项目的核心原理。 3. 配置和使用:介绍了Yocto项目的配置选项和使用方法,包括如何选择和配置特定的构建层、构建工具链和构建目标等。 4. 软件包管理:详细介绍了Yocto项目中的软件包管理器,以及如何添加、删除和管理软件包。 5. 镜像和文件系统:讲解了如何创建和构建嵌入式Linux的镜像和文件系统,以及如何自定义和配置它们。 6. 运行时系统:介绍了运行时系统的概念、组件和配置方式,以及如何调试和测试运行时系统。 7. 开发工具:提供了开发嵌入式Linux应用程序所需的工具和技术,包括交叉编译、调试和性能优化等。 Yocto项目参考手册是一个非常有价值的资源,对于想要使用Yocto项目构建嵌入式Linux发行版的开发人员来说,它提供了必要的指导和参考。无论是对于初学者还是有经验的开发人员,参考手册都是学习和了解Yocto项目的重要参考资料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值