缺少 en_US.UTF-8 区域设置
发生场景:此问题在最小化的 Ubuntu 安装(包括
基础 WSL2 镜像 (Ubuntu 22.04))上很常见,这些安装默认只提供 C.UTF-8 区域设置。
BitBake 需要 en_US.UTF-8 区域设置,如果不存在则会
在启动时立即失败。
错误消息:
kas 或 bitbake 命令之前,
生成并启用 en_US.UTF-8 区域设置。
严格的 umask 导致构建失败
发生场景:如果您的 shell 会话配置了严格的 umask
(例如 0027 或 0077),OE-core 的完整性检查器会在构建开始前
拒绝该配置。
错误消息:
umask 022。这样可以确保
Yocto 创建的文件对所有用户可读,这是构建系统正常
运行所必需的。
构建期间 CPU 使用率过高导致系统过载
发生场景:BitBake 会并行调度任务,并以多个作业调用make
以加快构建速度。在 CPU 核心数量有限的主机上,或者当构建与其他
工作负载同时运行时,这可能会使 CPU 使用率非常高,导致系统无响应。
解决方案:通过设置 BB_NUMBER_THREADS 和
PARALLEL_MAKE 变量来限制构建的并行度,如 Yocto Project Limiting the Host Resources
Usage 指南中所述。请将这些
变量添加到 meta-qcom/ci/base.yml 中的 local_conf_header 下:
meta-qcom/ci/base.yml
kas build 命令。
