Add CI building scripts using Docker

This is a first stab at a set of scripts to build each defconfig
on each supported build platform inside Docker containers.

The idea is that on x86-64 and ppc64le hosts, we can easily test
that everything still at least builds on our supported build
platforms.

Due to docker image availability and Docker's complete lack of
acknowledging that there may exist architectures other than x86-64, we
get to jump through some rather stupid hoops to work out what
to build where.

Tested on Fedora 23 x86-64 and Ubuntu xenial snapshot with docker
daily snapshot on ppc64le.

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
7 files changed
tree: dcce946a1ad80c7ef1fa79e6a935a739a22428ba
  1. ci/
  2. dl/
  3. openpower/
  4. output/
  5. .gitignore
  6. .gitmodules
  7. LICENSE
  8. NOTICE
  9. op-build-env
  10. README.md
README.md

OpenPower Firmware Build Environment

The OpenPower firmware build process uses Buildroot to create a toolchain and build the various components of the PNOR firmware, including Hostboot, Skiboot, and Petitboot.

Building an image

git clone --recursive git@github.com:open-power/op-build.git
cd op-build
. op-build-env
op-build palmetto_defconfig && op-build

This will build an image for a Palmetto system. There exists default configurations for other platforms in openpower/configs/ such as Habanero and Firestone.

Dependancies for 64-bit Ubuntu/Debian systems

  1. Install Ubuntu (>= 14.04) or Debian (>= 7.5) 64-bit.

  2. Enable Universe:

     sudo apt-get install software-properties-common
     sudo add-apt-repository universe
    
  3. Install the packages necessary for the build:

     sudo apt-get install cscope ctags libz-dev libexpat-dev \
       python language-pack-en texinfo \
       build-essential g++ git bison flex unzip \
       libxml-simple-perl libxml-sax-perl libxml2-dev libxml2-utils xsltproc \
       wget bc
    

Dependancies for 64-bit Fedora systems

  1. Install Fedora 23 64-bit.

  2. Install the packages necessary for the build:

     sudo dnf install gcc-c++ flex bison git ctags cscope expat-devel patch \
       zlib-devel zlib-static texinfo perl-bignum "perl(XML::Simple)" \
       "perl(YAML)" "perl(XML::SAX)" "perl(Fatal)" "perl(Thread::Queue)" \
       "perl(Env)" "perl(XML::LibXML)" "perl(Digest::SHA1)" libxml2-devel \
       which wget unzip tar cpio python bzip2 bc findutils ncurses-devel