开发环境初始化
更新时间: 2026/08/07
在Gitcode上查看源码

前置条件:已完成开发环境搭建指引(Docker或WSL)

网络配置

清理网络代理配置(可选)

如果配置了不需要的代理,请在初始化前执行清理:

shell
unset https_proxy && unset HTTPS_PROXY

如果在公司内网环境,请确认防火墙放行下方检查网络连通性部分中列出的域名。 如果使用 Docker 环境,检查 Docker 网络模式是否正确配置。 如果你访问的软件源慢,建议配置包管理器加速源,可以参考 华为云阿里云,以及其它云厂商或各大学提供的加速源。

检查网络连通性

初始化及运行过程需要访问以下在线资源,请确保网络连通:

  • mirrors.huaweicloud.com - 华为云镜像
  • registry.npmmirror.com - npm 淘宝镜像
  • openubmc-apt-repo.obs.cn-north-4.myhuaweicloud.com - openUBMC apt 仓库
  • keyserver.ubuntu.com - Ubuntu GPG keyserver
  • conan.openubmc.cn - openUBMC conan 仓库
  • repo.openubmc.cn - openUBMC 工具仓库

在终端中运行以下命令检查连通性,返回 200 即为正常,否则需配置网络或防火墙:

bash
  for url in \
    "https://mirrors.huaweicloud.com" \
    "https://registry.npmmirror.com" \
    "https://openubmc-apt-repo.obs.cn-north-4.myhuaweicloud.com" \
    "https://keyserver.ubuntu.com" \
    "https://conan.openubmc.cn" \
    "https://repo.openubmc.cn"
  do
    echo -n "$url: "
    curl -s -o /dev/null -w "%{http_code}\n" --max-time 5 "$url"
  done

若上述网站无法连通,请参考以下配置。如果均返回200即连通,前往GitCode配置继续初始化流程。

配置网络代理(可选)

如果您处于受限的内部网络环境,或需要通过代理服务器才能访问外网资源,请在 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

提示: 如果配置代理后仍然提示 Could not resolve host,通常是 WSL 的 DNS 解析异常。请尝试修改 /etc/resolv.conf 为可用 DNS。

GitCode 配置

GitCode 账户配置

openUBMC 社区使用 GitCode 管理代码。请完成注册并绑定邮箱,之后在终端中配置本地 git:

shell
git config --global user.name <your username>
# 邮箱务必与 CLA 签署地址一致
git config --global user.email <your email>

IMPORTANT

提交 PR 时,CI 会基于 git config 的邮箱校验 CLA 签署状态,请确保邮箱一致。

SSH Key生成与添加

使用以下指令生成ssh密钥:

shell
ssh-keygen -t rsa

按回车确定直到完成生成,生成的公钥在~/.ssh/id_rsa.pub里,通过下面的命令用vi打开,并复制公钥,完成后按Esc输入:q退出编辑器

shell
vi ~/.ssh/id_rsa.pub

在GitCode中添加公钥,打开右上角头像下拉菜单点击个人设置,在左侧安全设置中找到SSH公钥,右上角点击SSH公钥并将上一步复制的公钥粘贴在下方公钥栏中:

点击新建完成SSH Key创建。

仓库访问权限验证

访问manifest仓库主页确认访问权限,成功打开仓库页面即有正常访问权限。

开发环境初始化

启动Root用户

WARNING

必须使用 root 身份执行初始化,否则可能因权限不足导致失败。

请以 root 用户 登录 Ubuntu 24.04 系统完成以下初始化,下面列出两种可行的启动方式:

  1. 使用 su root 切换(不要使用 sudo su)。部分云厂商会修改 apt 源文件,如遇APT访问问题,请检查 /etc/apt/sources.list.d/ubuntu.sources
  2. 切换为默认root身份:
    • 使用当前的Ubuntu终端输出echo -e "[boot]\nsystemd = true\n\n[user]\ndefault = root" | sudo tee /etc/wsl.conf,将默认用户配置为 root。
    • 之后关闭Ubuntu终端,在PowerShellCMD命令提示符中使用wsl --shutdown命令彻底关闭WSL。
    • 再次重启Ubuntu将默认使用 root 身份。

一键环境初始化

使用 manifest 仓库 完成一键环境初始化,manifest 仓库是构建的入口,管理所有子仓库的版本依赖和构建策略。

克隆 manifest 仓库。

shell
mkdir -p /home/workspace && cd /home/workspace
git clone https://gitcode.com/openUBMC/manifest.git
cd manifest

如果本地已有 manifest 代码,请先同步最新代码:

shell
cd /home/workspace/manifest
git pull -r origin main

准备 社区账号,初始化过程中需要输入社区账号用户名和密码,同Conan账号。

预设许可证自动接受:

shell
# 预设 bmc-studio 许可证接受,防止安装时弹窗阻塞
echo 'bmc-studio bmc-studio/accept-license boolean true' | debconf-set-selections
# 设置环境变量,让 init.py 和 install_sdk 自动接受许可证
export OPENUBMC_LICENSE=true
export AUTO_ACCEPT_LICENSE=true

执行init.py

须指定 Conan 用户名密码,或者在执行初始化过程中输入。<用户名>可使用注册时绑定的手机号或自定义用户名。

shell
cd /home/workspace/manifest
python3 init.py -user <用户> -psw '<密码>'

IMPORTANT

如果 init.py 执行过程中某个步骤失败,在修复失败原因后,需要重新再执行一次 init.py,确保所有初始化步骤均成功完成。

验证初始化结果

shell
# 检查关键工具
bingo --version
conan --version
node --version
npm --version

# 确认命令可执行
which bingo conan n node npm

完成后请参考《构建你的BMC》开始开发。

如遇到异常情况,请参考初始化常见问题与排查