Use SBE_UPDATE_CONSECUTIVE functionality for P9 Machines

  - If an update is necessary for the primary SBE SEEPROM (side 0), it will
      be updated.  After the update, a re-IPL is requested and the reboot
      count will be set to the default so side 0 is used to boot.  If during
      the re-IPL an update is necessary for the backup SBE SEEPROM (side 1),
      it will be updated and the IPL is allowed to continue. The end result
      is that both SBE SEEPROMs will contain the same code.
4 files changed
tree: e6f4611f6c751ad426cd22a3c874e4f9f71f602e
  1. ci/
  2. dl/
  3. openpower/
  4. output/
  5. .gitignore
  6. .gitmodules
  7. CONTRIBUTING.md
  8. LICENSE
  9. NOTICE
  10. op-build-env
  11. 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, OCC, Petitboot etc.

Development

Issues, Milestones, pull requests and code hosting is on GitHub: https://github.com/open-power/op-build

Mailing list: openpower-firmware@lists.ozlabs.org
Info/Subscribe: https://lists.ozlabs.org/listinfo/openpower-firmware
Archives: https://lists.ozlabs.org/pipermail/openpower-firmware/

Building an image

To build an image for a Palmetto system:

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

There are also default configurations for other platforms in openpower/configs/ such as Habanero and Firestone.

Buildroot/op-build supports both native and cross-compilation - it will automatically download and build an appropriate toolchain as part of the build process, so you don't need to worry about setting up a cross-compiler. Cross-compiling from a x86-64 host is officially supported.

Dependencies for 64-bit Ubuntu/Debian systems

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

  2. Enable Universe (Ubuntu only):

     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 \
       libssl-dev libxml-simple-perl libxml-sax-perl libxml2-dev libxml2-utils xsltproc \
       wget bc
    

Dependencies for 64-bit Fedora systems

  1. Install Fedora 25 64-bit (older Fedora should also work).

  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