前言:
此刻你们对“openbmc编译”大概比较关心,同学们都想要知道一些“openbmc编译”的相关内容。那么小编同时在网摘上收集了一些对于“openbmc编译””的相关资讯,希望小伙伴们能喜欢,你们快快来学习一下吧!下面更新一篇OpenBMC开发环境搭建的教程。我使用的开发环境是VMware虚拟机+ubuntu 18.04版本,有条件最好弄一台单独的机器装ubuntu系统,因为虚拟机编译起来实在太慢。
进入正题:
第一步,下载并安装VMware环境,我使用的是17版本,至于那个什么码,你懂的,自行解决,网上很多。
第二步,下载安装ubuntu 18.04系统。现在虚拟机安装系统很简单,点击下图中创建新的虚拟机,除了分配空间地方需要设置大一些外其他默认配置就行,虚拟机默认分配20G空间,但OpenBMC占用空间比较大,需要分配多一些,我分配了100G空间。ubuntu系统安装也一样,直接安装不需要特殊配置。
第三步,安装完系统后进入系统,首先更换ubutun软件源。先备份下软件源,
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
再用gedit打开软件源文件,把下面软件替换原文件内容并保存并更新。也可找其他源进行更新。
sudo gedit /etc/apt/sources.listsudo apt-get updatesudo apt-get upgrade
# 中科大镜像源deb bionic main restricted universe multiversedeb-src bionic main restricted universe multiverse deb bionic-updates main restricted universe multiversedeb-src bionic-updates main restricted universe multiverse deb bionic-backports main restricted universe multiversedeb-src bionic-backports main restricted universe multiverse deb bionic-security main restricted universe multiversedeb-src bionic-security main restricted universe multiverse deb bionic-proposed main restricted universe multiversedeb-src bionic-proposed main restricted universe multiverse
第四步,安装开发中必要的软件,执行下面两条命令。
sudo apt-get install -y git build-essential libsdl1.2-dev texinfo gawk chrpath diffstatsudo apt-get install -y gawk wget 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 tree
第五步,配置git,进入ubuntu系统,生成ssh秘钥。
git config --global user.name XXX //XXX为你申请的github官网用户名git config --global user.email tianzhzh@inspur.com //XXX@XXX.com为你申请github时使用的邮箱ssh-keygen -t rsa -C "XXX@XXX.com" //XXX@XXX.com为你申请github时使用的邮箱cat ~/.ssh/id_rsa.pub
拷贝生成的秘钥,如下截图
打开github网站,,登录账号,点击右上角图标。
点击settings,如下图
进入settings界面后再点击SSH and GPG keys->New SSH key
把ubuntu系统下生成的秘钥填到key里,取个Title,再点击Add SSH key即可。
第六步,在ubuntu系统内创建一个开发目录,进入开发目录,下载OpenBMC源码。下面截图为下载下来的OpenBMC源码目录。
git clone git@github.com:openbmc/openbmc.git
第七步,更新其他软件
sudo apt-get install vimsudo apt-get install gcc-5 gcc-5-multilibsudo apt-get install g++-5 g++-5-multilibsudo apt-get install gcc-6 gcc-6-multilibsudo apt-get install g++-6 g++-6-multilibsudo apt-get install gcc-7 gcc-7-multilibsudo apt-get install g++-7 g++-7-multilibsudo apt-get install gcc-8 gcc-8-multilib //本示例编译intel 代码,需要使用gcc8sudo apt-get install g++-8 g++-8-multilibsudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 80sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 60sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 70sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 80sudo update-alternatives --config gccsudo update-alternatives --config g++
完善python:镜像编译需要python 2与python 3 (以及对应的pip)。ubuntu 18.04与ubuntu 20.04均没有自带齐全,需要手动安装。
sudo apt-get install python3.8 //本示例编译intel 代码,需要使用python 3.8sudo rm -rf /usr/bin/python3 //把python3链接到python3.8,系统默认3.6ln -s /usr/bin/python3.8 /usr/bin/python3sudo apt-get install python3-pipsudo apt install python2.7 #安装python2.7sudo apt install python-minimalwget python3 get-pip.py #安装pip3 wget python2 get-pip.py #安装pip3sudo apt install python-testresources #防止pip2出错sudo apt install python3-testresources #防止pip3出错sudo pip3 install --upgrade pip #升级pip3sudo pip2 install --upgrade pip #升级pip2whereis pipwhereis pythongedit ~/.bashrcalias pip=/usr/local/bin/pip3.8alias python=/usr/bin/python3.8source ~/.bashrc
第八步,安装ipmitool。
sudo apt-get install ipmitool
第九步,安装编译镜像一些依赖
sudo apt-get install liblz4-toolsudo apt-get install pzstdsudo apt-get install zstd
第十步,编译代码,我这选择编译intel的s2600wf项目,下面第二张图片中框出来的部分为当前编译完成的任务数和需要编译的任务总数,第一次编译是个相当慢长的过程,编上后去干点别的吧。
标签: #openbmc编译