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

Yocto构建时Bitbake从失效URL拉取源码失败该如何解决

问题根因

  • 你用的Yocto Dizzy(1.7版本)是2014年发布的老旧版本,距今已近10年,上游项目的源码链接大量失效,是下载404、校验失败的直接原因。
  • 该版本官方仅适配Ubuntu 12.04/14.04,你当前使用的Ubuntu 18.04和它兼容性极差,是后续gcc编译报错的核心原因。
  • 作为新手更推荐你直接换用仍在维护期的Yocto LTS版本(比如Kirkstone 4.0),配套使用Ubuntu 20.04/22.04系统,可直接避开绝大多数兼容、源失效问题。

如果你确实需要使用当前Dizzy版本完成学习,可按以下步骤修复:

1. 替换失效源码源

打开构建目录下的conf/local.conf文件,在末尾添加如下配置,使用Yocto官方归档镜像替换失效的上游链接:

SOURCE_MIRROR_URL = "https://downloads.yoctoproject.org/mirror/sources/"
INHERIT += "own-mirrors"
BB_GENERATE_MIRROR_TARBALLS = "1"
# 临时关闭严格校验,避免旧包校验值不匹配导致构建中断
BB_STRICT_CHECKSUM = "0"

2. 修复系统兼容问题

先安装该版本依赖的宿主工具包:

sudo apt install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev xterm autoconf-archive

然后替换Yocto内置的旧版配置脚本,解决gnu-configize执行报错的问题:

sudo ln -sf /usr/share/gnu-config/config.guess /opt/yocto/poky/scripts/config.guess
sudo ln -sf /usr/share/gnu-config/config.sub /opt/yocto/poky/scripts/config.sub

3. 重新启动构建

清理之前错误的构建缓存和损坏的下载包,再重新执行构建:

cd /opt/yocto/poky/qemuarm
rm -rf tmp/ cache/ downloads/*_bad-checksum*
source /opt/yocto/poky/oe-init-build-env /opt/yocto/poky/qemuarm
bitbake core-image-minimal

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 05:36:03