blob: 5ae846b3c5ded5b1ec2d35f62ee30ee3fe5e8cf1 [file] [log] [blame]
Stewart Smith59d3cb42018-02-12 11:52:12 +11001Introduction to OpenPOWER Firmware
2==================================
3
4The ``op-build`` project constructs a host firmware image for OpenPOWER
5machines.
6
7Firmware Components
8-------------------
9
10Buildroot
11 We use http://buildroot.net/ as the build system for assembling a firmware
12 image. `op-build` is a "Buildroot overlay". We build a kernel and initramfs
13 using buildroot to run the Petitboot boot loader in.
14SBE
15 the Self Boot Engine is the first unit inside the POWER processor to start
16 executing. It's job is to set up a core and load Hostboot.
17Hostboot
18 Low level system boot firmware. It brings up CPU cores, the OCC, Memory
19 and hands control over to OPAL (skiboot)
20OCC
21 The On Chip Controller is responsible for thermal limits and frequency
22 management.
23OPAL
24 The OpenPOWER Abstraction Layer, provided by skiboot
25skiboot
26 skiboot implements OPAL (the OpenPOWER Abstraction Layer). Skiboot is
27 boot and runtime firmware and is responsible for bringing up PCI and
28 providing runtime abstractions to the running OS.
29Linux
30 Once skiboot has finished setting up the machine, it hands control over
31 to a Linux kernel. This kernel provides device drivers and userspace to
32 run the bootloader, Petitboot
33Petitboot
34 The bootloader. It is a normal user-space process running on Linux that
35 searches the system for disks and network devices that it can boot the
36 OS from.