Open BMC 常见错误及其解决方案(长期更新)

579 阅读1分钟

Open BMC 常见错误及其解决方案

常见注意点

devtool modify <recipe> 是不需要联网的,编译优先从workspace/source 编译

通过错误日志定位编译报错

每次bitbake编译完后会在下面的目录生成日志,通过该日志可以定位一些常见的报错问题


<build-directory>/tmp/work/<machine>/<recipe>/temp/log.do_compile.<pid>

由于网络问题导致的编译报错

常见的一个表现就是之前编译没有问题,重新编译就有问题,很有可能就是网络导致的,对于这种情况可以采用离线编译的方式解决。

步骤1: 拉取所有依赖

// 该步骤执行完后会在`build/<recipe>`中创建downloads文件夹,里面都是从外部网络中下载的依赖。
source setup <machine>  # 替换 <machine> 为目标机器,如 romulus
bitbake obmc-phosphor-image -c fetch

步骤2:拉取所有依赖创建下载目录的压缩包


tar -czvf downloads.tar.gz -C build/<recipe>/downloads .

步骤3:创建必要的目录并解压下载目录

mkdir -p build/downloads 
tar -xzvf /path/to/downloads.tar.gz -C build/<recipe>/downloads

步骤4:配置本地下载目录

vi conf/local.conf
# 添加或修改
DL_DIR = "${TOPDIR}/downloads"


步骤5:编译open bmc

source setup <machine>  # 替换 <machine> 为目标机器,如 romulus
bitbake obmc-phosphor-image