介绍openUBMC安装部署过程中的常见问题。
初始化常见问题
在执行 python3 init.py -path /home/workspace/bmc_sdk_26.03.zip 时,可能会遇到以下失败场景。请根据错误信息对照排查。
TIP
如果需要查看详细的调试日志,可以在执行命令时添加环境变量:LOG=debug python3 init.py -path /home/workspace/bmc_sdk_26.03.zip
环境检查失败
| 错误信息 | 原因 | 解决方案 |
|---|---|---|
仅支持Ubuntu 24.04操作系统 | 当前系统不是 Ubuntu 24.04 | 运行 cat /etc/issue 确认系统版本,openUBMC 仅支持 Ubuntu 24.04 |
请直接执行,不支持以sudo环境执行脚本 | 使用了 sudo python3 init.py | 直接以普通用户身份执行脚本,不加 sudo 命令前缀,也不要使用sudo su切换root,而是应该使用su root |
xxx不存在,请检查命令或环境配置 | 系统缺少必要命令 | 确认基础命令可用,或检查 $PATH 环境变量是否正确 |
网络相关失败
初始化过程需要访问多个在线资源(华为云apt源、npm 淘宝镜像、openUBMC仓库等),网络不通或网络传递慢是最常见的失败或超时的原因。
问题现象:apt-get update、wget、pip install、npm install 等命令超时或返回连接错误。
解决措施:
- 参照《开发环境初始化》中"网络配置"章节,逐一检测各资源站的连通性。
- 检查代理配置:脚本会检测
https_proxy环境变量,如果配置了不需要的代理,请在初始化前执行:shellunset https_proxy && unset HTTPS_PROXY - 如果在公司内网环境,请确认防火墙放行了《开发环境初始化》中"网络配置"章节列出的域名。
- 如果使用 Docker 环境,检查 Docker 网络模式是否正确配置。
- 如果使用 Windows WSL 环境,且处于受限的内部网络,或需要通过代理服务器才能访问外网资源,请在 WSL 终端中配置环境变量。
- 临时生效(仅当前终端会话):bash
export http_proxy="http://<您的代理服务器IP>:<端口>" export https_proxy="http://<您的代理服务器IP>:<端口>" - 永久生效(写入环境变量):bash
echo 'export http_proxy="http://<您的代理服务器IP>:<端口>"' >> ~/.bashrc echo 'export https_proxy="http://<您的代理服务器IP>:<端口>"' >> ~/.bashrc source ~/.bashrc
TIP
如果配置代理后仍然提示
Could not resolve host,通常是 WSL 的 DNS 解析异常。请尝试修改/etc/resolv.conf为可用 DNS。 - 临时生效(仅当前终端会话):
- 如果你访问的软件源慢,建议配置包管理器加速源,可以参考 华为云、阿里云,以及其它云厂商或各大学提供的加速源。
gpg: keyserver 无法连接问题
初始化脚本会自动配置 openUBMC APT 源。如果脚本跳过此项或需要手动配置,按以下步骤操作:
# 安装 gnupg(如未安装)
apt-get update && apt-get install -y gnupg
# 创建密钥存放目录
mkdir -p /etc/apt/keyrings
# (方式一)从公共镜像站直接下载 GPG 公钥
wget -O- https://openubmc-apt-repo.obs.cn-north-4.myhuaweicloud.com/Ubuntu/gpg_key.public \
| gpg --dearmor -o /etc/apt/keyrings/openubmc.gpg
# (方式二)从密钥服务器导入(方式一失败时使用)
# gpg --keyserver keyserver.ubuntu.com --recv-keys BF3B2D407FDEDEA0DC91CC9412640FBCB175287A
# gpg --export BF3B2D407FDEDEA0DC91CC9412640FBCB175287A | tee /etc/apt/keyrings/openubmc.gpg >/dev/null
# 配置 apt 源
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/openubmc.gpg] https://openubmc-apt-repo.obs.cn-north-4.myhuaweicloud.com/Ubuntu/ noble main" \
| tee /etc/apt/sources.list.d/openubmc.list
# 验证配置
apt-get update
apt policy openubmc-bingo正确输出应包含:
openubmc-bingo:
Installed: (none)
Candidate: 0.0.1
Version table:
0.0.1 500
500 https://openubmc-apt-repo.obs.cn-north-4.myhuaweicloud.com/Ubuntu noble/main amd64 PackagesConan 登录失败
问题现象:conan remote login 命令返回认证错误。
解决措施:
- 确认已注册 openUBMC 社区账号,且用户名和密码正确。
- 如果密码包含特殊字符,建议使用交互式输入(不传
-user和-psw参数),避免 shell 转义问题。 - 确认网络可以访问
conan.openubmc.cn。 - 如果之前配置过 conan,可以尝试清除配置后重试:shell
rm -rf ~/.conan2
BMC SDK 解压或安装失败
问题现象:unzip 报错,或 SDK 文件解压不完整,或提示 安装 sdk 失败。
解决措施:
- 确认
bmcsdk文件下载完整,检查文件大小是否正常。 - 确认
bmcsdk版本与 manifest 代码版本一致(如26.03)。 - 确认文件路径正确,建议使用绝对路径。
- 如果之前已有安装残留,手动清理后重试:shell
rm -rf ~/rtos_compiler ~/sdk ~/oee_compiler ~/oee_sdk
Node.js 安装失败
问题现象:n 20.18.0 或 npm install 报错。
解决措施:
- 确认可以访问
registry.npmmirror.com。 - 如果之前已安装 Node.js 其他版本,尝试先卸载旧版本:shell
sudo apt remove -y nodejs npm - 检查磁盘空间是否充足:
df -h。
PATH 环境变量未包含 ~/.local/bin
**问题现象:**初始化完成后执行 conan、n 等命令提示 command not found,但初始化过程未报错。
**可能原因:**部分工具(如 conan、Node.js 版本管理器 n)安装到 ~/.local/bin 目录,该目录不在系统默认 PATH 中。
解决措施:
手动将 ~/.local/bin 加入 PATH:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc添加后可通过 which conan 或 which n 验证命令是否可正常访问。
权限不足
问题现象:Permission denied 或写入 /usr/bin、/etc/apt/ 等目录失败。
解决措施:
- 确认当前用户是
root身份,且是直接root登录或使用su root登录。 - 如果使用非 root 用户,初始化完成后需要手动配置环境变量,请参考上方"PATH 环境变量未包含 ~/.local/bin"章节。
命令超时
**问题现象:**某个步骤长时间无响应后报 TimeoutExpired 或命令执行超过 600 秒自动终止。
解决措施:
- 通常是网络问题导致下载过慢,检查网络连接速度。
- 开启详细日志定位具体卡在哪个命令:
LOG=debug python3 init.py -path /home/workspace/bmc_sdk_26.03.zip。 - 如果是特定包下载缓慢,可考虑配置系统级代理加速。