You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

向core-image-sato添加自定义配方时出现do_package_write_rpm任务依赖错误

问题分析与解决方案

错误根源

报错指向的是torohwtest-core-image-sato.bb这个镜像配方缺少do_package_write_rpm任务,而非你的novahwtest软件包配方。镜像配方本身不是可安装的软件包,默认没有包写入类任务,但do_populate_sdk任务会尝试依赖所有被引用配方的包生成任务,从而触发错误。

修复步骤

1. 纠正依赖关系(优先方案)

你不需要单独创建torohwtest-core-image-sato.bb来添加novahwtest,直接修改core-image-sato的配置即可:

  • 在local.conf中追加:
    IMAGE_INSTALL_append = " novahwtest"
    
    或者在你的layer中创建core-image-sato.bbappend文件,添加:
    IMAGE_INSTALL += "novahwtest"
    
    这样就无需额外的镜像配方,避免依赖混乱。

2. 若需保留自定义镜像配方

如果必须使用torohwtest-core-image-sato.bb,需在该配方中禁用所有包相关任务:

# 禁用镜像配方的包生成任务
do_package[noexec] = "1"
do_package_write_rpm[noexec] = "1"
do_package_write_deb[noexec] = "1"
do_package_write_ipk[noexec] = "1"

# 原有的镜像配置
require recipes-core/images/core-image-sato.bb
IMAGE_INSTALL += "novahwtest"

同时确保你执行的是bitbake torohwtest-core-image-sato,而非bitbake core-image-sato——后者不会自动关联你的自定义镜像配方,除非你在配置中错误地将镜像配方加入了依赖。

3. 确认novahwtest配方的正确性

对于纯Python脚本的部署,novahwtest.bb的正确配置示例:

SUMMARY = "Nova HW Test Scripts"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

SRC_URI = "git://your/repo/path.git;branch=main"
S = "${WORKDIR}/git"

inherit allarch

# 禁用不必要的编译、打包任务
do_compile[noexec] = "1"
do_package[noexec] = "1"
do_package_write_rpm[noexec] = "1"
do_package_write_deb[noexec] = "1"
do_package_write_ipk[noexec] = "1"

do_install() {
    # 创建目标目录
    install -d ${D}${bindir}
    # 部署Python脚本
    install -m 0755 ${S}/test_script.py ${D}${bindir}/
}

# 确保文件被正确打包到镜像
FILES:${PN} += "${bindir}/*.py"

常见误区排查

  • 不要将镜像配方添加到IMAGE_INSTALL中,只有软件包配方可以被添加到该变量。
  • 检查local.conf中是否存在错误配置,比如CORE_IMAGE_EXTRA_INSTALL += "torohwtest-core-image-sato",这类配置会导致core-image-sato尝试安装镜像配方,触发依赖错误。

内容的提问来源于stack exchange,提问作者RichM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 10:55:27