6任务任务

6任务

目录

6任务

6.1正常配方构建任务

6.1.1 do_build

6.1.2 do_compile

6.1.3 do_compile_ptest_base

6.1.4 do_configure

6.1.5 do_configure_ptest_base

6.1.6 do_deploy

6.1.7 do_fetch

6.1.8 do_image

6.1.9 do_image_complete

6.1.10 do_install

6.1.11 do_install_ptest_base

6.1.12 do_package

6.1.13 do_package_qa

6.1.14 do_package_write_deb

6.1.15 do_package_write_ipk

6.1.16 do_package_write_rpm

6.1.17 do_package_write_tar

6.1.18 do_packagedata

6.1.19 do_patch

6.1.20 do_populate_lic

6.1.21 do_populate_sdk

6.1.22 do_populate_sdk_ext

6.1.23 do_populate_sysroot

6.1.24 do_prepare_recipe_sysroot

6.1.25 do_rm_work

6.1.26 do_unpack

6.2手动调用任务

6.2.1 do_checkpkg

6.2.2 do_checkuri

6.2.3 do_clean

6.2.4 do_cleanall

6.2.5 do_cleansstate

6.2.6 do_devpyshell

6.2.7 do_devshell

6.2.8 do_listtasks

6.2.9 do_package_index

6.3图像相关任务

6.3.1 do_bootimg

6.3.2 do_bundle_initramfs

6.3.3 do_rootfs

6.3.4 do_testimage

6.3.5 do_testimage_auto

6.4内核相关任务

6.4.1 do_compile_kernelmodules

6.4.2 do_diffconfig

6.4.3 do_kernel_checkout

6.4.4 do_kernel_configcheck

6.4.5 do_kernel_configme

6.4.6 do_kernel_menuconfig

6.4.7 do_kernel_metadata

6.4.8 do_menuconfig

6.4.9 do_savedefconfig

6.4.10 do_shared_workdir

6.4.11 do_sizecheck

6.4.12 do_strip

6.4.13 do_validate_branches


任务是 BitBake 的执行单元。配方(.bb文件)使用任务来完成配置、编译和打包软件。本章提供了 OpenEmbedded 构建系统中定义的任务的参考。

6.1正常配方构建任务

以下部分描述了与构建配方相关的正常任务。有关任务和依赖项的更多信息,请参阅BitBake 用户手册中的“任务”和“依赖项”部分。

6.1.1 do_build

所有配方的默认任务。此任务取决于构建配方所需的所有其他正常任务。

6.1.2 do_compile

编译源代码。此任务在当前工作目录设置为${ B 的情况下运行}

此任务的默认行为是运行oe_runmake如果一个makefile(函数MakefilemakefileGNUmakefile)中找到。如果未找到此类文件,则该do_compile任务不执行任何操作。

6.1.3 do_compile_ptest_base

编译包含在正在构建的软件中的运行时测试套件。

6.1.4 do_configure

通过启用和禁用正在构建的软件的任何构建时间和配置选项来配置源。该任务在当前工作目录设置为${ B 的情况下运行}

此任务的默认行为是执行,如果一个makefile( ,,或)被发现, CLEANBROKEN未设置为“1”。如果未找到此类文件或CLEANBROKEN变量设置为“1”,则 任务不执行任何操作。oe_runmake cleanMakefilemakefileGNUmakefiledo_configure

6.1.5 do_configure_ptest_base

配置正在构建的软件中包含的运行时测试套件。

6.1.6 do_deploy

写入要部署到${ DEPLOY_DIR_IMAGE 的输出文件 }。该任务在当前工作目录设置为 ${ B 的情况下运行}

实现此任务的配方应继承 deploy类并将输出写入${ DEPLOYDIR},不要与${DEPLOY_DIR}. 的deploy类设置 do_deploy为可以通过使用sstate加速共享状态(sstate)任务。sstate 机制负责将输出从 复制${DEPLOYDIR}${DEPLOY_DIR_IMAGE}

注意

不要将输出直接写入${DEPLOY_DIR_IMAGE},因为这会导致 sstate 机制发生故障。

do_deploy任务默认不添加为任务,因此需要手动添加。如果您希望任务在do_compile之后运行,您可以通过执行以下操作来添加它:

addtask deploy after do_compile

do_deploy在其他任务之后添加的工作方式相同。

注意

您不需要添加到命令中(尽管它是无害的),因为该类包含以下内容:before do_buildaddtaskbase

do_build[recrdeptask] += "do_deploy"

有关更多信息,请参阅BitBake 用户手册中的“依赖关系”部分。

如果do_deploy任务重新执行,任何先前的输出都会被删除(即“清理”)。

6.1.7 do_fetch

获取源代码。此任务使用 SRC_URI变量和参数的前缀来确定正确的fetcher 模块。

6.1.8 do_image

开始图像生成过程。该do_image任务在 OpenEmbedded 构建系统运行do_rootfs任务之后运行, 在此期间确定要安装到映像中的包并创建根文件系统,并完成后处理。

所述do_image任务执行预处理通过在图像上 IMAGE_PREPROCESS_COMMAND并动态生成支持do_image_*根据需要的任务。

有关图像创建的更多信息,请参阅Yocto 项目概述和概念手册中的“图像生成”部分。

6.1.9 do_image_complete

完成图像生成过程。该do_image_complete任务在 OpenEmbedded 构建系统运行do_image任务之后运行, 在此期间进行图像预处理并通过动态生成的do_image_* 任务构建图像。

do_image_complete任务通过IMAGE_POSTPROCESS_COMMAND对图像执行后处理 。

有关图像创建的更多信息,请参阅Yocto 项目概述和概念手册中的“图像生成”部分。

6.1.10 do_install

将要打包的文件复制到保存区 ${ D 中}。此任务在当前工作目录设置为${ B 的情况下运行},这是编译目录。的do_install任务,以及其他任务直接或间接地依赖于安装文件(例如 do_packagedo_package_write_*和 do_rootfs)下运行 fakeroot的

注意

安装文件时,请注意不要将已安装文件的所有者和组 ID 设置为意外值。某些复制文件的方法,特别是在使用递归cp命令时,可以保留原始文件的 UID 和/或 GID,这通常不是您想要的。在host-user-contaminated对文件的QA检查检查,可能有错误的所有权。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值