=== 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

Building on *64-bit* Ubuntu/Debian systems
==========================================

1. Install Ubuntu 14.04 or Debian 7.5 64-bit.
2. Install the packages necessary for the build:
> sudo apt-get install cscope ctags libz-dev libexpat-dev libc6-dev-i386 \
  build-essential g++ git bison flex gcc-multilib g++-multilib \
  libxml-simple-perl libxml-sax-perl libxml2-dev libxml2-utils xsltproc
3. Continue with the clone, environment setup, and build as noted above.

Building on *64-bit* Fedora systems
==========================================

1. Install Fedora 20 64-bit.
2. Install the packages necessary for the build:
> sudo yum install vim gcc-c++ flex bison git ctags cscope cpan expat-devel patch glibc-devel-i686 libgcc.i686 zlib-devel libstdc++.i686
3. Install PERL modules necessary for the build:
>  sudo cpan install XML::Simple YAML XML::SAX Fatal Thread/Queue.pm Env

Troubleshooting
===============

* If git is complaining about "fatal: reference is not a tree" with a commit matching a buildroot change, try:
> rm -rf op-build/buildroot
> cd op-build
> git clone --recursive git@github.com:open-power/buildroot.git


* If make is complaining during skiboot link phases, revert make to version 3.81
-- On Fedora
--> sudo rpm -del --nodeps make
--> sudo wget ftp://fr2.rpmfind.net/linux/centos/6.5/os/x86_64/Packages/make-3.81-20.el6.x86_64.rpm
--> sudo rpm --install make-3.81-20.el6.x86_64.rpm

(instructions for make reversion from http://curiositydrivendevelopment.blogspot.com)
