使用多核时,Bitbake 失败,退出代码为“1”

问题描述 投票:0回答:1

问题

多核

当使用多核调用 Bitbake (

-j 4
) 时,它会失败,退出代码为“1”,并显示以下错误消息:

|警告:Backtrace(BB 生成的脚本): | #1:do_image_wic,/yocto/tmp/work/intel_corei7_64-poky-linux/weston-dev-image/1.0-r0/temp/run.do_image_wic.69326,第 163 行 | #2:主要,/yocto/tmp/work/intel_corei7_64-poky-linux/weston-dev-image/1.0-r0/temp/run.do_image_wic.69326,第 179 行 错误:任务(/yocto/poky/build-weston-64/weston-self-installer/../../../meta-cleanux/meta-builds/recipes-images/images/weston-dev-image. bb:do_image_wic) 失败,退出代码为“1” 注意:任务摘要:尝试了 6603 个任务,其中 6593 个不需要重新运行,1 个失败。

使用了以下 local.conf:

WKS_FILE = "image-installer.wks.in"
IMAGE_FSTYPES:append = " ext4"
IMAGE_TYPEDEP_wic = "ext4"
INITRD_IMAGE_LIVE="core-image-minimal-initramfs"

do_rootfs[depends] += "virtual/kernel:do_deploy"
do_image_wic[depends] += "${INITRD_IMAGE_LIVE}:do_image_complete"

临时解决方案

重新运行

如果您再次运行 bitbake 构建,它就会起作用,并且我们构建成功。

这可能不正确,但我看到有 2 个作业正在运行,

do_image_wic
do_image_ext4
。但是,
do_image_wic
do_image_ext4
之前完成,但具有
do_image_ext4
作为依赖项。

有没有办法运行bitbake来构建具有多核的Yocto并让

do_image_wic
等待
do_image_ext4
完成?

单核

如果我们将 yocto 构建配置更改为

-j 1
,则构建不会出现错误。

问题

这个构建顺序问题的解决方案是什么?

yocto bitbake yocto-wic
1个回答
0
投票

使用以下 local.conf 进行修复:

WKS_FILE = "image-installer.wks.in"
IMAGE_FSTYPES:append = " ext4"
IMAGE_TYPEDEP_wic = "ext4"
INITRD_IMAGE_LIVE="core-image-minimal-initramfs"

do_rootfs[depends] += "virtual/kernel:do_deploy"
do_image_wic[depends] += "${INITRD_IMAGE_LIVE}:do_image_complete"
do_image_wic[depends] += "${IMAGE_BASENAME}:do_image_ext4"

缺少 do_image_wic[depends] += "${IMAGE_BASENAME}:do_image_ext4" 在初始化之前等待图像 ext4 完成

do_image_complete()

© www.soinside.com 2019 - 2024. All rights reserved.