commit | 03671c06d119a673e14d290f0785deb148cd83fd | [log] [tgz] |
---|---|---|
author | Stewart Smith <stewart@linux.vnet.ibm.com> | Fri Feb 17 14:57:57 2017 +1100 |
committer | Stewart Smith <stewart@linux.ibm.com> | Wed May 02 00:29:03 2018 -0500 |
tree | 30e1b74673ba040cff3cffa937a0b16fb5808b77 | |
parent | 9307e07318cbdfb104118bf4dca1c174a3e8368b [diff] |
Split P8 and P9 Hostboot and OCC packages This was causing a couple of issues: 1) increased complexity in build files 2) It breaks the pkg-version patch detection/checksum 3) Failing to apply patches to would silently fail The split makes this a bit easier and requires less custom code. We keep the P9 hostboot/occ named hostboot/occ, so that day-to-day, nobody notices a difference. The only difference you'll notice is if doing POWER8 hostboot/occ development, as the package name will be 'hostboot-p8' or 'occ-p8'. Fixes: https://github.com/open-power/op-build/issues/876 Fixes: https://github.com/open-power/op-build/issues/1194 Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
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.
https://open-power.github.io/op-build/
See the doc/ directory for documentation source. Contributions are VERY welcome!
Issues, Milestones, pull requests and code hosting is on GitHub: https://github.com/open-power/op-build
See CONTRIBUTING.md for howto contribute code.
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/
. 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.
Install Ubuntu (>= 14.04) or Debian (>= 7.5) 64-bit.
Enable Universe (Ubuntu only):
sudo apt-get install software-properties-common sudo add-apt-repository universe
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
Install Fedora 25 64-bit (older Fedora should also work).
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