Code Monkey home page Code Monkey logo

op-build's Introduction

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.

Documentation

https://open-power.github.io/op-build/

See the doc/ directory for documentation source. Contributions are VERY welcome!

Development

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

See CONTRIBUTING.md for howto contribute code.

Building an image

To build an image for a Palmetto system:

git clone --recursive [email protected]:open-power/op-build.git
cd op-build
./op-build palmetto_defconfig && ./op-build

There are also default configurations for other platforms in openpower/configs/. Current POWER8 platforms include Habanero, Firestone, and Garrison. Current POWER9 platforms include Witherspoon, Boston (p9dsu), Romulus, and Zaius.

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.

The machine your building on will need Python 2.7, GCC 6.2 (or later), and a handful of other packages (see below).

Dependencies for 64-bit Ubuntu/Debian systems

  1. Install Ubuntu (>= 18.04) or Debian (>= 9) 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 libxml-parser-perl libxml2-dev libxml2-utils xsltproc \
       wget bc rsync
    

Dependencies for 64-bit Fedora systems

  1. Install Fedora (>= 25) 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 \
       openssl-devel
    

op-build's People

Contributors

stewartsmith avatar op-jenkins avatar williamspatrick avatar wghoffa avatar shenki avatar cvswen avatar sammj avatar e-liner avatar ploetzma avatar jazurin avatar jk-ozlabs avatar sannerd avatar bofferdn avatar geissonator avatar jimsmc avatar brs332 avatar mengzeliao avatar aalugore avatar drajarshi avatar dcrowell77 avatar hellerda avatar kgdeepak avatar erich-hauptli avatar rlippert avatar wak-google avatar wilbryan avatar vaibhav92 avatar sgupta2m avatar mabaiocchi avatar mikey avatar

Stargazers

Ahmad Saleem avatar

Watchers

Asa Jones avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.