How to build openBMC binary for Barreleye

Barreleye is the openPOWER server that Rackspace helped build.  It runs openBMC for it’s management.

In my work at Rackspace, I often build custom openBMC builds for the sake of testing stability / new features.

Here’s how you can build your own openBMC binary for Barreleye.

If you are building on Ubuntu you need to install following packages before you build openBMC:

sudo apt-get install -y git build-essential libsdl1.2-dev texinfo gawk chrpath diffstat

If you are building on Fedora 23 you need to install the following packages before you build openBMC

sudo dnf install -y git patch diffstat texinfo chrpath SDL-devel bitbake
sudo dnf groupinstall "C Development Tools and Libraries"

 

Build Process:

First, clone the openBMC repository. If you are cloning form master this is how you’d do it:

git clone https://github.com/openbmc/openbmc

Then run the following commands:

cd openbmc
TEMPLATECONF=meta-openbmc-machines/meta-openpower/meta-rackspace/meta-barreleye/conf . oe-init-build-env
bitbake obmc-phosphor-image

 

If you run it a laptop with decent power, it takes about 2-3 hours. If you run it on a Barreleye (this is where I make you jealous) it takes about 35 minutes to build the binary.

The built binaries are in openbmc/build/tmp/deploy/images/barreleye location

In my case I use the barreleye-20160818194255.all.tar image and untar it to get an file named ‘image-bmc’ about 32MB in size .

You can  use a flash programmer to flash your BMC chip with this new version or use the openBMC online upgrade process.

If you wanna rebuild your binary, then you will have to first clear your config before you run above 3 commands again.

This is the command to clear the config:

rm -rf build/conf

Comment here for any issues you run into, while building the binary or if you want a link to a latest binary.

 

OS support for Linux on Power (Little Endian)

OpenPOWER movement is gaining pace. Linux community has been overwhelmingly supportive of Little Indian port of Power (PPC64LE).  As a result, most of the leading Linux server distributions have built server images in the past couple of years.

Through this post I want to aggregate the installer links to server install images for PPC64LE. Where available I also listed cloud images used to boot up VM’s / (OpenStack guests).

OS Hypervisor Install image Guest Installer Image
Fedora 23 Refer to Link Link
Fedora 22 Refer to Link Link
Fedora 24 Refer to Link Link
Ubuntu 15.10 Refer to Link Link
Ubuntu 15.04 Refer to Link Link
Ubuntu  14.04 LTS Refer to Link Link
Centos 7.2 Refer to Link NA (But you can use init from RHEL)
OpenSUSE 13.2 Refer to Link Link
Debian 8 Refer to Link NA
PowerKVM 3.1 Refer to Link NA
Ubuntu 16.04 Refer to Link Link
RHEL 7.2 Refer to Link (Needs Login) Link
SLES 12 Refer to Link (Needs Login) Link

Hopefully this table helps the audience who are just getting started on power servers, to finish a quick install.

Update Model /Serial number of OpenPOWER server

I’ve found the necessity of updating the Model / Serial numbers of our openPOWER servers at Rackspace. And here’s how I did it:

Using LC system VPD update tool
The VPD update tool is used to make VPD modifications to POWER Systems from the host OS of the machine.

For Ubuntu distributions:
ophtk-lht_20160128-1.ub14.04_ppc64el.deb

For RHEL distributions:
ophtk-lht-20160128-1.el7.ppc64le.rpm

Ubuntu
  • To install, run the following:
  • apt-get install libxml2-utils
  • sudo dpkg -i <deb downloaded above>
  • If you encounter a dependency error when installing the tool, run the following to install dependencies and complete the install:
  • sudo apt-get -f install
RHEL
  • To install, run the following as root:
  • yum install ./<rpm downloaded above>
Execution
  • To update the machine serial number:
  • sudo /opt/openpower/lht/bin/updateserial <0000000000000000>
  • Note: <0000000000000000> to be replaced with your Serial Number
  • To update the machine model:
  • sudo /opt/openpower/lht/bin/updatemodel <8335-GTA>
  • Note: <8335-GTA> to be replaced with your model