commit | fd7a226a3c74aea01617148a8b13fd9d95320137 | [log] [tgz] |
---|---|---|
author | Stewart Smith <stewart@linux.vnet.ibm.com> | Fri Feb 17 17:20:54 2017 +1100 |
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | Fri Feb 17 17:29:14 2017 +1100 |
tree | 2fc053500cc80757a63f11c58eb3cd99869713db | |
parent | 78d89280c3f91c0fd1350d172b089069e9108a41 [diff] |
VERSION: Improve logic behind and information in VERSION partition The VERSION partition is constructed in pkg-versions.mk, and has the purpose of indicating to both the user and developer/support what firmware build is on a particular machine. This patch addresess a few issues with VERSION. Firstly, the pkg-versions.mk code was making needlessly excessive calls to git, which could be solved by using "git describe --always --dirty" rather than going around and around. Secondly, the information in VERSION was not always useful. Previously, we'd get an entry like 'open-power-habanero-78d8928', which is only useful if you posses a tree with that commit in it. With this patch, instead you get 'open-power-habanero-v1.14-45-g78d89280c3f9' which tells us a *lot* more information about what was used to build this image. The same issue was with buildroot (was: 'buildroot-6b9fd80', now: 'buildroot-2016.11-4-g6b9fd8036d72') Thirdly, the (truncated) SHA512 hash of the patches to a package was not always clear that it was a SHA of patches. We now prefix the patch sha with a 'p' (Git prefixes a sha with a 'g'). For example: 'habanero-xml-6a78496-67a075c' becomes 'habanero-xml-6a78496-p67a075c' Fourthly, the version targets threw some shell errors, so they're also fixed. 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.
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/
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.
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 \ 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