3了解 Yocto 项目自动构建器

本文深入探讨了Yocto项目自动构建器的工作流程,包括Autobuilder的执行过程、汽车制造商技术,如clobberdir、克隆缓存、Worker Janitor等,并介绍了如何部署和运行配置。
摘要由CSDN通过智能技术生成

3了解 Yocto 项目自动构建器

目录

3了解 Yocto 项目自动构建器

3.1 Autobuilder内的执行流程

3.2 Autobuilder 目标执行概述

3.3 汽车制造商技术

3.3.1 clobberdir

3.3.2 Autobuilder 克隆缓存

3.3.3 Autobuilder Worker Janitor

3.3.4共享DL_DIR

3.3.5共享的 SSTATE_DIR

3.3.6结果工具

3.4 run-config 目标执行

3.5部署 Yocto Autobuilder


3.1 Autobuilder内的执行流程

“a-full”和“a-quick”目标是进入 Autobuilder 的常用入口点,从那里开始通过系统跟踪流程是有意义的。这最好从 Autobuilder 控制台视图 ( https://autobuilder.yoctoproject.org/typhoon/#/console ) 中可视化。

该视图顶部的每个项目代表一些“目标构建”,这些目标都是并行运行的。“完整”构建将触发其中的大部分,“快速”构建将触发其中的一些子集。Autobuilder 在单独的 buildbot 工作器上有效地运行为每个目标定义的任何配置。要了解配置,您需要查看存储库中的config.json文件条目yocto-autobuilder-helper。目标在“覆盖”部分定义,一个简单的例子可能是 qemux86-64,它看起来像:

"qemux86-64" : {
      "MACHINE" : "qemux86-64",
      "TEMPLATE" : "arch-qemu",
      "step1" : {
            "extravars" : [
                  "IMAGE_FSTYPES:append = ' wic wic.bmap'"
                 ]
     }
},

为了扩展它,您需要“模板”部分中的“arch-qemu”条目,如下所示:

"arch-qemu" : {
      "BUILDINFO" : true,
      "BUILDHISTORY" : true,
      "step1" : {
            "BBTARGETS" : "core-image-sato core-image-sato-dev core-image-sato-sdk core-image-minimal core-image-minimal-dev core-image-sato:do_populate_sdk",
      "SANITYTARGETS" : "core-image-minimal:do_testimage core-image-sato:do_testimage core-image-sato-sdk:do_testimage core-image-sato:do_testsdk"
      },
      "step2" : {
            "SDKMACHINE" : "x86_64",
            "BBTARGETS" : "core-image-sato:do_populate_sdk core-image-minimal:do_populate_sdk_ext core-image-sato:do_populate_sdk_ext",
            "SANITYTARGETS" : "core-image-sato:do_testsdk core-image-minimal:do_testsdkext core-image-sato:do_testsdkext"
      },
      "step3" : {
            "BUILDHISTORY" : false,
            "EXTRACMDS" : ["${SCRIPTSDIR}/checkvnc; DISPLAY=:1 oe-selftest ${HELPERSTMACHTARGS} -j 15"],
            "ADDLAYER" : ["${BUILDDIR}/../meta-selftest"]
      }
},

结合这两个条目,您可以看到“qemux86-64”是一个三步构建, 将在其中运行,然后针对每一步;全部用于 但具有不同的 SDKMACHINE 设置。在步骤 1 中,一个额外的变量被添加到文件中以启用 wic 图像生成。bitbake BBTARGETSbitbake SANITYTARGETSMACHINE="qemx86-64"auto.conf

虽然此处并未涵盖所有细节,但您可以看到模板机制如何允许构建相当复杂的配置,同时将重复和重复保持在最低限度。

不同的构建目标被设计为允许并行化,所以不同的机器通常是并行构建的,使用相同机器的操作和元数据是顺序构建的,目的是尽可能地优化构建效率。

config.json文件由scripts目录中Helper 存储库中的脚本处理。以下部分详细说明了这是如何工作的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值