How to set openBMC to use static address

Good number of openPOWER servers run openBMC. OpenBMC as of today does NOT support network IPMI but it does support host-BMC IPMI. We can use this to set static IP on BMC using standard IPMI tool commands

Set openBMC to static IP from Host / Petitboot:

To set the BMC running openBMC to static address, run following ipmitool commands from petitboot / host.

   ipmitool lan set 1 ipsrc static

   ipmitool lan set 1 ipaddr 10.127.xx.xx

   ipmitool lan set 1 netmask 255.255.252.0

   ipmitool lan set 1 defgw ipaddr 10.127.xx.xx

   ipmitool raw 0x06 0x40

You can print lan credentials using:

ipmitool lan print

Remember default credentials of BMC is    root   and 0penBmc

Set openBMC to get static IP from openBMC linux shell:

You can use standard linux “ip” command to set the IP address to static

To check interfaces
ip a
To force eth0 down
ip link set eth0 down
To force eth0 up
ip link set eth0 up
To set static ip
ip addr add 192.168.1.1 dev eth0
To set up routing:
ip route add 192.168.1.0/24 via 192.168.1.1 dev eth0

Advertisements
How to set openBMC to use static address

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.

 

How to build openBMC binary for Barreleye