commit | d2551240795a1d79e6fa7a130724da88d41c30db | [log] [tgz] |
---|---|---|
author | Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com> | Thu Jul 16 16:59:04 2020 -0300 |
committer | Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com> | Fri Oct 02 07:23:49 2020 -0500 |
tree | ca6bef74b05545a9097c71f14581e8c8a450486d | |
parent | 58e154838cc24a80037c42603a9e0bf9ca5efc2e [diff] |
rainier_defconfig: Add multi-target support Through OpenBMC and PLDM file.io, Power10 will support multiple MRW definitions as part of one driver. In order to achieve this in a staged approach, this commit introduces a new 'openpower-pnor-p10' package that still creates the expected pnor-related artifacts and intermediate files, while also creating the individual files for each of the PNOR partitions (PAYLOAD, BOOTKERNEL) inside the images/mmc directory. Each of those files will be suffixed with ".P10" for target-agnostic files, or "uppercase-xml-name" (i.e., RAINIER_2U_XML) for target-specific files. This patch also creates packages rainier-2u-xml and rainier-4u-xml(based on machine-xml) that are both built and included in rainier_defconfig, with rainier_2u_xml also serving as the 'legacy' pnor for smooth transitions purposes. Several other packages makefiles had to be reworked, but that should allow both legacy openpower-pnor as well as the new mmc variant to build. Signed-off-by: Klaus Heinrich Kiwi <klaus@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.ibm.com:open-power/op-build.git cd op-build ./op-build rainier_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).
Install Ubuntu (>= 18.04) or Debian (>= 9) 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 libxml-parser-perl libxml2-dev libxml2-utils xsltproc \ wget bc rsync
Install Fedora (>= 25) 64-bit.
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(bigint)" "perl(XML::Simple)" \ "perl(YAML)" "perl(XML::SAX)" "perl(Fatal)" "perl(Thread::Queue)" \ "perl(Env)" "perl(XML::LibXML)" "perl(Digest::SHA1)" "perl(ExtUtils::MakeMaker)" \ libxml2-devel which wget unzip tar cpio python bzip2 bc findutils ncurses-devel \ openssl-devel make libxslt vim-common lzo-devel python2