blob: 5ae846b3c5ded5b1ec2d35f62ee30ee3fe5e8cf1 [file] [log] [blame] [edit]
Introduction to OpenPOWER Firmware
==================================
The ``op-build`` project constructs a host firmware image for OpenPOWER
machines.
Firmware Components
-------------------
Buildroot
We use http://buildroot.net/ as the build system for assembling a firmware
image. `op-build` is a "Buildroot overlay". We build a kernel and initramfs
using buildroot to run the Petitboot boot loader in.
SBE
the Self Boot Engine is the first unit inside the POWER processor to start
executing. It's job is to set up a core and load Hostboot.
Hostboot
Low level system boot firmware. It brings up CPU cores, the OCC, Memory
and hands control over to OPAL (skiboot)
OCC
The On Chip Controller is responsible for thermal limits and frequency
management.
OPAL
The OpenPOWER Abstraction Layer, provided by skiboot
skiboot
skiboot implements OPAL (the OpenPOWER Abstraction Layer). Skiboot is
boot and runtime firmware and is responsible for bringing up PCI and
providing runtime abstractions to the running OS.
Linux
Once skiboot has finished setting up the machine, it hands control over
to a Linux kernel. This kernel provides device drivers and userspace to
run the bootloader, Petitboot
Petitboot
The bootloader. It is a normal user-space process running on Linux that
searches the system for disks and network devices that it can boot the
OS from.