commit | 798bbcfce1a2ddee802319641409e9c29f20e63f | [log] [tgz] |
---|---|---|
author | Joel Stanley <joel@jms.id.au> | Wed May 08 09:33:12 2019 +0930 |
committer | Joel Stanley <joel@jms.id.au> | Wed May 08 10:06:14 2019 +0930 |
tree | 35c3bc78586a65ef166305c9a07d836ea826e904 | |
parent | 1ff6f90c9c971441f82e5e077a6c67ad1e3442bd [diff] |
linux: Re-enable STRICT_KERNEL_RWX A workaround was put in place in future kernels (as of 5.0.10) for the issue exposed by STRICT_KERNEL_RWX. The workaround changes RADIX to require HUGETLBFS while the root cause is fixed. The disabling of STRICT_KERNEL_RWX can be reverted with this alternate workaround in place. We need to enables HUGETLBFS so we continue using the radix MMU, otherwise the configuration will fall back to using hash MMU. See https://github.com/linuxppc/issues/issues/237. Fixes: 885ef25a0d68 ("linux: temporarily disable STRICT_KERNEL_RWX") Fixes: 85cc33affffd ("kernel: Move to Linux v4.14.1-openpower1") Signed-off-by: Joel Stanley <joel@jms.id.au>
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 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).
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-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