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

修改目录名后Bitbake无法找到SRC_URI指定文件的问题

问题原因及解决方法

核心原因分析

出现该问题的核心是路径匹配错误或Bitbake缓存未彻底清理,具体分以下几种情况:

1. 路径层级拼写错误

修改目录名时,你可能只更改了目录本身的名称,未同步修正SRC_URI中的完整路径:

  • 原始目录结构为configs/fs,若之前配方隐含将configs作为搜索根目录(比如设置了FILESDIR = "${THISDIR}/configs"),则SRC_URI += "file://fs"可正常生效;
  • 改目录名为fsconfigs后,若实际目录是configs/fsconfigs,但你将SRC_URI写成file://fsconfigs却省略了configs/前缀,Bitbake会在默认搜索路径而非configs目录下查找fsconfigs,自然无法找到目标文件。

2. FILESDIR配置未同步

若配方之前通过FILESDIR指定了配置文件的根目录(比如FILESDIR = "${THISDIR}/configs"),改目录名后需确认:

  • 新目录fsconfigs确实处于FILESDIR指定的路径下;
  • SRC_URI中的路径是相对于FILESDIR的相对路径,而非错误层级的路径。

3. 缓存未彻底清除

尽管执行了bitbake -c clean或bitbake -c cleanall,Bitbake的部分缓存仍可能残留:

  • tmp/work目录下对应包的工作目录(如tmp/work/<arch>/compliance-config/1.0-r0/)可能保留旧文件索引;
  • 共享状态缓存sstate-cache中可能存有旧构建元数据,导致Bitbake仍按旧路径查找资源。

解决步骤

步骤1:核对路径一致性

  1. 确认实际目录结构:确保改后目录为./configs/fsconfigs(与原结构层级一致);
  2. 修正SRC_URI路径:
    若未设置FILESDIR,需写完整相对路径:
    SRC_URI += "file://configs/fsconfigs"
    
    若已设置FILESDIR = "${THISDIR}/configs",则保持相对路径即可:
    FILESDIR = "${THISDIR}/configs"
    SRC_URI += "file://fsconfigs"
    
  3. 同步修正do_install中的路径:
    do_install() {                                                                       
        install -d ${D}${sysconfdir}/modprobe.d/                                        
        install -m 0644 ${WORKDIR}/fsconfigs/*.conf ${D}${sysconfdir}/modprobe.d/              
    }
    

步骤2:彻底清理缓存

  1. 清理目标包的所有缓存:
    bitbake compliance-config -c cleanall
    
  2. 手动删除对应工作目录(若cleanall无效):
    rm -rf tmp/work/*/compliance-config/1.0-r0/
    
  3. 若共享状态缓存干扰,可临时禁用(构建完成后恢复原设置):
    在local.conf中添加:
    SSTATE_DIR = "${TOPDIR}/tmp/sstate-disabled"
    

步骤3:验证路径搜索逻辑

通过以下命令查看Bitbake搜索file://资源的路径列表,确认新目录所在路径是否在其中:

bitbake compliance-config -e | grep -E "^FILESPATH="

若configs目录不在输出路径中,需显式将其添加到FILESPATH或调整FILESDIR配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 18:15:59