前置条件:已完成开发环境搭建指引(Docker或WSL)
网络配置
清理网络代理配置(可选)
如果配置了不需要的代理,请在初始化前执行清理:
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 即为正常,否则需配置网络或防火墙:
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 终端中配置环境变量。
临时生效(仅当前终端会话):
export http_proxy="http://<您的代理服务器IP>:<端口>"
export https_proxy="http://<您的代理服务器IP>:<端口>"永久生效(写入环境变量):
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:
git config --global user.name <your username>
# 邮箱务必与 CLA 签署地址一致
git config --global user.email <your email>IMPORTANT
提交 PR 时,CI 会基于 git config 的邮箱校验 CLA 签署状态,请确保邮箱一致。
SSH Key生成与添加
使用以下指令生成ssh密钥:
ssh-keygen -t rsa按回车确定直到完成生成,生成的公钥在~/.ssh/id_rsa.pub里,通过下面的命令用vi打开,并复制公钥,完成后按Esc输入:q退出编辑器
vi ~/.ssh/id_rsa.pub在GitCode中添加公钥,打开右上角头像下拉菜单点击个人设置,在左侧安全设置中找到SSH公钥,右上角点击SSH公钥并将上一步复制的公钥粘贴在下方公钥栏中:
点击新建完成SSH Key创建。
仓库访问权限验证
访问manifest仓库主页确认访问权限,成功打开仓库页面即有正常访问权限。
开发环境初始化
启动Root用户
WARNING
必须使用 root 身份执行初始化,否则可能因权限不足导致失败。
请以 root 用户 登录 Ubuntu 24.04 系统完成以下初始化,下面列出两种可行的启动方式:
- 使用
su root切换(不要使用sudo su)。部分云厂商会修改 apt 源文件,如遇APT访问问题,请检查/etc/apt/sources.list.d/ubuntu.sources。 - 切换为默认root身份:
- 使用当前的Ubuntu终端输出
echo -e "[boot]\nsystemd = true\n\n[user]\ndefault = root" | sudo tee /etc/wsl.conf,将默认用户配置为 root。 - 之后关闭Ubuntu终端,在PowerShell或CMD命令提示符中使用
wsl --shutdown命令彻底关闭WSL。 - 再次重启Ubuntu将默认使用 root 身份。
- 使用当前的Ubuntu终端输出
一键环境初始化
使用 manifest 仓库 完成一键环境初始化,manifest 仓库是构建的入口,管理所有子仓库的版本依赖和构建策略。
克隆 manifest 仓库。
mkdir -p /home/workspace && cd /home/workspace
git clone https://gitcode.com/openUBMC/manifest.git
cd manifest如果本地已有 manifest 代码,请先同步最新代码:
shellcd /home/workspace/manifest git pull -r origin main
准备 社区账号,初始化过程中需要输入社区账号用户名和密码,同Conan账号。
预设许可证自动接受:
# 预设 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 用户名密码,或者在执行初始化过程中输入。<用户名>可使用注册时绑定的手机号或自定义用户名。
cd /home/workspace/manifest
python3 init.py -user <用户名> -psw '<密码>'IMPORTANT
如果 init.py 执行过程中某个步骤失败,在修复失败原因后,需要重新再执行一次 init.py,确保所有初始化步骤均成功完成。
验证初始化结果
# 检查关键工具
bingo --version
conan --version
node --version
npm --version
# 确认命令可执行
which bingo conan n node npm完成后请参考《构建你的BMC》开始开发。
如遇到异常情况,请参考初始化常见问题与排查。