Open-BMC 初用记录
开始使用Open-BMC,此篇文章仅作为初次使用Open-BMC所记录使用过程和遇到的问题。
前言
历时一周搭建openbmc的环境,历时如此之久主要是因为走了很多弯路,刚开始用Ubuntu14.04虚拟机来搭建环境,但因为环境中的一些库什么的没有安装好,导致运行编译命令后,命令直接完毕无任何反应(😂好尴尬),因公司中领导率先用18.04搭建好了环境,同时也是因为18.04的Ubuntu的环境更新,界面更舒适一点,所以决定改用18.04的Ubuntu环境;然后根据GitHub的openbmc官方说明进行下载库、下载源码、谱配置、编译,报error的错误如下:
查找资料两天也没有解决掉此问题,遂从新安装虚拟机,从头开始按照网友的方法试一试,结果成功的可以进行编译,遂总结了下记录在此,可供广大网友共享;
一、环境 :Ubuntu18.04.5 - VNware Workstations 15
二、更换Ubuntu软件源为国内源
1、备份原配置文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
2、更改配置文件为国内源
sudo gedit /etc/apt/sources.list
用如下内容替换文件中的原内容,然后保存。(建议多添加几个源,可以选择速度快的源下载,其他源见第二栏)
# 中科大镜像源
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# 清华镜像源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# 阿里镜像源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
# 163镜像源
deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
3、更新软件列表和更新软件以及build-essential
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential
build-essential软件作用:
Ubuntu缺省情况下,并没有提供C/C++的编译环境,因此还需要手动安装。但是如果单独安装gcc以及g++比较麻烦,幸运的是,Ubuntu提供了一个build-essential软件包。查看该软件包的依赖关系:
y@ubuntu:~$ apt-cache depends build-essential
build-essential
|Depends: libc6-dev
Depends:
libc6-dev
Depends: gcc
Depends: g++
Depends: make
make-guile
Depends: dpkg-dev
根据软件报名字可知,essential adj. 基本的;必要的;本质的;精华的可知是编译必要包,也就是说,安装了该软件包,编译c/c++所需要的软件包也都会被安装。因此如果想在Ubuntu中编译c/c++程序,只需要安装该软件包就可以了。
三、安装开发中必要的支持软件
OpenBmc要求的是ubutun下需要安装:
sudo apt-get install -y git build-essential libsdl1.2-dev texinfo gawk chrpath diffstat
建议安装:
sudo apt-get install -y gawk wget git-core git diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint3 xterm sed cvs subversion help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf automake groff curl lzop asciidoc npm meson ninja tree
ninja可网页搜索下载,然后解压后将ninja cp到/user/bin下即可;
四、Git配置
1、安装Git
sudo apt-get install -y git
2、配置Git
git config --global user.name xxxxxx //配置用户名(github官网注册的用户名)
git config --global user.email xxxxxx@mail.com //配置用户邮箱(gitub官网注册绑定的邮箱)
git config --list
3、配置SSH
不配置SSH,GitHub的URL不能下载,大文件传输通过SSH稳定;
生成SSH密钥:
ssh-keygen -t rsa -C "master@gmail.com"
一路回车
将key打印并复制下来
cat ~/.ssh/id_rsa.pub
将复制下来的key添加到GitHub上
五、获取OpenBmc源码
git clone git@github.com:openbmc/openbmc.git
六、编译镜像
1、打开一个Terminal(快捷键Ctrl + Alt + T),cd命令切换到openbmc文件夹下;
2、查看可用编译配置
find meta-* -name local.conf.sample
3、生成编译配置(以2500为例)
export TEMPLATECONF=meta-aspeed/conf
TEMPLATECONF=meta-evb/meta-evb-aspeed/meta-evb-ast2500/conf
. openbmc-env
上述命令后路径已在build下,如果想换一个编译配置,执行如下命令删除原来的配置文件,然后在执行export TEMPLATECONF=;
4、编译
bitbake obmc-phosphor-image
至此进入了固件的编译阶段;
5、待编译完成后在 build/tmp/deploy/images/evb-ast2500/下查看*.mtd文件,即编译生成的固件
七、编译期间问题
1、进入编译后报错,fatal error: Killed signal terminated program cc1plus ninja: build stopped: subcommand等等错误,经查找是当初搭建虚拟机时因为电脑配置原因,导致内存过小,扩展了下交换内存即可通过编译;
2、扩展swap方法本人按网友方式解决,https://blog.csdn.net/qq_34160841/article/details/104856865
八、编译成功
经过一晚上的编译,早晨查看时,已经编译完成;
烧录到flash,在2500新硬件环境运行;
账户root,密码0penBmc(密码第一个是零不是字母o);
至此,开启新的征程吧~~~~~~~~~~~~!!!!!!!
----------------------------------------------------------------------Author: Vincent Song
感谢广大网友发布的相关贴子,可供参考。
参考:
https://blog.csdn.net/qq_34160841/article/details/104874108
https://blog.csdn.net/qq_34160841/article/details/104841318
https://forum.ubuntu.org.cn/viewtopic.php?t=17731
https://github.com/openbmc/openbmc
https://blog.csdn.net/qq_34160841/article/details/104856865