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

Ubuntu20.04下Yocto项目bitbake编译fetch错误求助

Yocto编译imx-image-core失败的解决方法(Ubuntu 20.04)

问题场景

在Ubuntu 20.04环境下构建NXP i.MX Yocto项目(版本L5.15.32-2.0.0,目标机imx8mn-ddr4-evk),执行bitbake imx-image-core时出现核心编译错误,关键报错为linux-imx仓库拉取失败,同时伴随gobject-introspection资源下载警告,完整错误日志如下:

my__work@my__work-VirtualBox:~/Desktop/imx-yocto-bsp/L5.15.32-2.0.0$ bitbake imx-image-core
NOTE: Your conf/bblayers.conf has been automatically updated.
Loading cache: 100% |                                           | ETA:  --:--:--
Loaded 0 entries from dependency cache.
Parsing recipes: 100% |##########################################| Time: 0:16:27
Parsing of 3187 .bb files complete (0 cached, 3187 parsed). 4737 targets, 307 skipped, 5 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
NOTE: Multiple providers are available for runtime linux-firmware-bcm4359-pcie (firmware-nxp-wifi, linux-firmware)
Consider defining a PREFERRED_RPROVIDER entry to match linux-firmware-bcm4359-pcie

Build Configuration:
BB_VERSION           = "2.0.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "ubuntu-20.04"
TARGET_SYS           = "aarch64-poky-linux"
MACHINE              = "imx8mn-ddr4-evk"
DISTRO               = "fsl-imx-xwayland"
DISTRO_VERSION       = "5.15-kirkstone"
TUNE_FEATURES        = "aarch64 armv8a crc crypto"
TARGET_FPU           = ""
meta                 
meta-poky            = "HEAD:27de52e402ae000dfa502d52908cd6e6aef923ec"
meta-oe              
meta-multimedia      
meta-python          = "HEAD:5357c7a40eaf8d1bcf7ff58edbba8e9527e40c7d"
meta-freescale       = "HEAD:2fb1ce365338126aad365012ebb913b3e4a9f1be"
meta-freescale-3rdparty = "HEAD:de0eb1408150d77f9cce97c559f9a5a3c71e5d6c"
meta-freescale-distro = "HEAD:fc15f5003043da23212596be7366ae2547c308ad"
meta-bsp             
meta-sdk             
meta-ml              
meta-v2x             = "HEAD:5bc708f56575a878da17f2148e959c95d06cf8db"
meta-nxp-demo-experience = "HEAD:8fade3993b832ecd823771644f2a7b731f8f4527"
meta-chromium        = "HEAD:d25d8ee98a656b2534d0eec6138ef264529fab4f"
meta-clang           = "HEAD:85d956d95401479ca666139e31f662f60c156d5f"
meta-gnome           
meta-networking      
meta-filesystems     = "HEAD:5357c7a40eaf8d1bcf7ff58edbba8e9527e40c7d"
meta-qt6             = "HEAD:b2894aad5c1aaa85f2f5c7b94391b7c51c39e555"
meta-virtualization  = "HEAD:973c8d0964c6f40338857efe5b8009b2f647d485"

NOTE: Fetching uninative binary shim http://downloads.yoctoproject.org/releases/uninative/3.6/x86_64-nativesdk-libc-3.6.tar.xz;sha256sum=9bfc4c970495b3716b2f9e52c4df9f968c02463a9a95000f6657fbc3fde1f098 (will check PREMIRRORS first)
Initialising tasks: 100% |#######################################| Time: 0:00:18
Sstate summary: Wanted 2899 Local 0 Mirrors 0 Missed 2899 Current 0 (0% match, 0% complete)
NOTE: Executing Tasks
WARNING: gobject-introspection-native-1.72.0-r0 do_fetch: Failed to fetch URL https://download.gnome.org/sources//gobject-introspection/1.72/gobject-introspection-1.72.0.tar.xz, attempting MIRRORS if available
WARNING: linux-imx-5.15.32+gitAUTOINC+fa6c316859-r0 do_fetch: Failed to fetch URL git://source.codeaurora.org/external/imx/linux-imx.git;protocol=https;branch=lf-5.15.y, attempting MIRRORS if available
ERROR: linux-imx-5.15.32+gitAUTOINC+fa6c316859-r0 do_fetch: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"; export SSH_AGENT_PID="1534"; export SSH_AUTH_SOCK="/run/user/1000/keyring/ssh"; export PATH="/home/my__work/Desktop/imx-yocto-bsp/L5.15.32-2.0.0/tmp/sysroots-uninative/x86_64-linux/usr/bin:/home/my__work/Desktop/imx-yocto-bsp/sources/poky/scripts:/home/my__work/Desktop/imx-yocto-bsp/L5.15.32-2.0.0/tmp/work/imx8mn_ddr4_evk-poky-linux/linux-imx/5.15.32+gitAUTOINC+fa6c316859-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux:/home/my__work/Desktop/imx-yocto-bsp/L5.15.32-2.0.0/tmp/work/imx8mn_ddr4_evk-poky-linux/linux-imx/5.15.32+gitAUTOINC+fa6c316859-r0/recipe-sysroot/usr/bin/crossscripts:/home/my__work/Desktop/imx-yocto-bsp/L5.15.32-2.0.0/tmp/work/imx8mn_ddr4_evk-poky-linux/linux-imx/5.15.32+gitAUTOINC+fa6c316859-r0/recipe-sysroot-native/usr/sbin:/home/my__work/Desktop/imx-yocto-bsp/L5.15.32-2.0.0/tmp/work/imx8mn_ddr4_evk-poky-linux/linux-imx/5.15.32+gitAUTOINC+fa6c316859-r0/recipe-sysroot-native/usr/bin:/home/my__work/Desktop/imx-yocto-bsp/L5.15.32-2.0.0/tmp/work/imx8mn_ddr4_evk-poky-linux/linux-imx/5.15.32+gitAUTOINC+fa6c316859-r0/recipe-sysroot-native/sbin:/home/my__work/Desktop/imx-yocto-bsp/L5.15.32-2.0.0/tmp/work/imx8mn_ddr4_evk-poky-linux/linux-imx/5.15.32+gitAUTOINC+fa6c316859-r0/recipe-sysroot-native/bin:/home/my__work/Desktop/imx-yocto-bsp/sources/poky/bitbake/bin:/home/my__work/Desktop/imx-yocto-bsp/L5.15.32-2.0.0/tmp/hosttools"; export HOME="/home/my__work"; LANG=C git -c core.fsyncobjectfiles=0 -c gc.autoDetach=false clone --bare --mirror https://source.codeaurora.org/external/imx/linux-imx.git /home/my__work/Desktop/imx-yocto-bsp/downloads//git2/source.codeaurora.org.external.imx.linux-imx.git --progress failed with exit code 128, no output
ERROR: linux-imx-5.15.32+gitAUTOINC+fa6c316859-r0 do_fetch: Bitbake Fetcher Error: FetchError('Unable to fetch URL from any source.', 'git://source.codeaurora.org/external/imx/linux-imx.git;protocol=https;branch=lf-5.15.y')
ERROR: Logfile of failure stored in: /home/my__work/Desktop/imx-yocto-bsp/L5.15.32-2.0.0/tmp/work/imx8mn_ddr4_evk-poky-linux/linux-imx/5.15.32+gitAUTOINC+fa6c316859-r0/temp/log.do_fetch.1231987
ERROR: Task (/home/my__work/Desktop/imx-yocto-bsp/sources/meta-imx/meta-bsp/recipes-kernel/linux/linux-imx_5.15.bb:do_fetch) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1364 tasks of which 0 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /home/my__work/Desktop/imx-yocto-bsp/sources/meta-imx/meta-bsp/recipes-kernel/linux/linux-imx_5.15.bb:do_fetch
Summary: There were 2 WARNING messages.
Summary: There were 2 ERROR messages, returning a non-zero exit code.

解决步骤

1. 修复linux-imx仓库拉取失败问题

错误代码128说明Git无法正常访问目标仓库,按以下顺序排查:

  • 手动测试仓库连通性:在终端执行命令,确认是否能直接克隆仓库:
    git clone --bare --mirror https://source.codeaurora.org/external/imx/linux-imx.git test-mirror
    
    如果克隆失败:
    • 检查网络是否能访问source.codeaurora.org(可通过ping或浏览器验证)
    • 若处于受限网络,配置Git代理:
      git config --global http.proxy http://your-proxy-addr:port
      git config --global https.proxy http://your-proxy-addr:port
      
      编译完成后可取消代理:
      git config --global --unset http.proxy
      git config --global --unset https.proxy
      
  • 手动导入仓库镜像:如果无法通过Git拉取,将提前准备好的linux-imx分支镜像放入Yocto下载目录:
    1. 获取对应lf-5.15.y分支的仓库压缩包或镜像
    2. 将文件放入~/Desktop/imx-yocto-bsp/downloads/git2/,命名为source.codeaurora.org.external.imx.linux-imx.git
    3. 重新执行bitbake imx-image-core

2. 解决gobject-introspection下载警告

修改Yocto配置文件添加镜像源,加速资源下载:

  • 打开conf/local.conf,添加GNOME国内镜像:
    PREMIRRORS_prepend = " \
    https://download.gnome.org/sources/ http://mirrors.ustc.edu.cn/gnome/sources/ \
    "
    

3. 清理缓存后重试

若之前的失败导致缓存异常,执行以下命令清理后重新编译:

bitbake -c cleanall linux-imx
bitbake imx-image-core

4. 消除多提供者警告(可选)

针对日志中linux-firmware-bcm4359-pcie的多提供者提示,在conf/local.conf中添加指定提供者:

PREFERRED_RPROVIDER_linux-firmware-bcm4359-pcie = "firmware-nxp-wifi"

或根据需求选择linux-firmware。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 06:45:32