2509社区版本构建过程

前言

因2509版本进行了Conan升级,编译过程中会遇到种种问题,故本文介绍了社区2509版本的编译过程,供大家参考。

环境准备

wsl2已安装Ubuntu24.04。

docker加载与运行

Wsl-ubuntu24.04环境下执行

docker pull swr.cn-north-4.myhuaweicloud.com/openubmc/ubuntu:24.04.2_25.09😊

  • 运行docker image ls查看镜像是否加载成功

:slightly_smiling_face: root@DESKTOP-15CE9VA:~# docker image ls

:slightly_smiling_face: REPOSITORY TAG IMAGE ID CREATED SIZE swr.cn-north-4.myhuaweicloud.com/openubmc/ubuntu 24.04.2_25.09 91c3ea6eedcd 12 days ago 6.27GB

创建Container实例

  • 创建工作文件夹,作为WSL-Ubuntu24.04和docker共享的文件夹,方便代码和构建产物管理。

mkdir -p /root/gky_2509​:blush:

  • 运行docker run创建Container实例gky_2509

:slightly_smiling_face: docker run -it --privileged=true --mount type=bind,source=/root/gky_2509,target=/home/workspace --name gky_2509 swr.cn-north-4.myhuaweicloud.com/openubmc/ubuntu:24.04.2_25.09 /bin/bash​:blush:

  • 通过docker ps查看创建的实例,可以看到container id对应的Container状态

:slightly_smiling_face: root@DESKTOP-15CE9VA:~# docker ps​:blush:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f5e6956af1ac swr.cn-north-4.myhuaweicloud.com/openubmc/ubuntu:24.04.2_25.09 “/bin/bash” 56 minutes ago Up 56 minutes gky_2509

Container内部署远程conan服务

  • 25.09及之后的版本,所有组件使用的是conan 2.x作为打包工具,开发者需执行以下命令进行conan 2.x配置

:slightly_smiling_face: conan profile detect --force

conan remote add openubmc_dev “https://conan.openubmc.cn/conan_1/” --insecure --force

conan remote login openubmc_dev <openUBMC社区用户名> -p <openUBMC社区用户密码>:blush:

版本构建

在源码安装之前需要配置gitcode账户,并在gitcode个人设置中配置ssh公钥。

开发者环境准备

配置root账户密码:

sudo passwd root​:blush:

拉取manifest仓代码到本地工作空间。

cd /home/workspace

git clone https://gitcode.com/openUBMC/manifest.git

cd manifest​:blush:

Manifest切换到2509节点:

git checkout br_release_openUBMC2509_20251230​:blush:

之后,开发者需前往openUBMC社区软件应用中心下载2509版本对应的bmcsdk,并将下载的bmcsdk文件存放在manifest代码仓目录下。然后,执行脚本文件进行环境初始化(此命令依赖bmcsdk.zip中的hpm_tools、rtos_compiler、sdk,以及lua-format)。

python3 init.py -path ./bmc_sdk.zip -user USER -psw PASSWORD # USER和PASSWORD为openUBMC社区用户名和密码:blush:

Bingo升级

sudo apt update

apt policy openubmc-bingo

pip3 install openubmc-bingo

sudo apt update && sudo apt install gnupg

sudo mkdir -p /etc/apt/keyrings

gpg --keyserver keyserver.ubuntu.com --recv-keys BF3B2D407FDEDEA0DC91CC9412640FBCB175287A

gpg --export BF3B2D407FDEDEA0DC91CC9412640FBCB175287A | sudo tee /etc/apt/keyrings/openubmc.gpg >/dev/null

echo “deb \[arch=amd64 signed-by=/etc/apt/keyrings/openubmc.gpg\] https://openubmc-apt-repo.obs.cn-north-4.myhuaweicloud.com/Ubuntu/ noble main” | sudo tee /etc/apt/sources.list.d/openubmc.list

sudo apt update

apt policy openubmc-bingo

pip3 install openubmc-bingo

bingo upgrade​:blush:

Busybox工具集成

集成busybox工具,用于使用telnet查看调试日志。

manifest目录下:

git clone https://gitcode.com/openUBMC/conan_index.git

cd conan_index/recipes2/busybox/all

conan create . --name=busybox --version=1.34.0 --user=openubmc --channel=release --profile=profile.ini​:blush:

配置manifest.yml

debug_dependencies:

 - conan: busybox/1.34.0@openubmc/release

编译2509

执行bingo build

4 个赞

由于大量社区举报,此话题被临时关闭至少 4 小时。

还没使用过conan2,想问一下busybox不能直接用openubmc_dev仓库的,必须要自己下载编译吗

1 个赞

此话题已在 120 天后被自动打开。