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