summaryrefslogtreecommitdiffstats
path: root/README.md
blob: 536a735319b7f07dee76ea6fd106ee5e09355990 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# 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](CONTRIBUTING.md) for howto contribute code.

* Mailing list: openpower-firmware@lists.ozlabs.org
* Info/Subscribe: https://lists.ozlabs.org/listinfo/openpower-firmware  
* Archives: https://lists.ozlabs.org/pipermail/openpower-firmware/

## Building an image

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).

### 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

OpenPOWER on IntegriCloud