This project aims to provide infrastructure for reliable building firmware for
PC Engines platforms. It replace legacy approach from
release_manifests and utilize
official coreboot-sdk
wherever it is possible. Unfortunately legacy builds coreboot-4.0.x
require
toolchain from pre-coreboot-sdk era that's why we created
pce-fw-builder-legacy
.
Keep in mind that this tool works only for coreboot releases not older than v4.6.10 and v4.0.17. For older releases use the procedure described in release_manifests.
Initial run may take some time. Below procedures assume that Docker is
correctly installed and current user is in docker
group. Script automatically
detect with which codebase it deals with and choose toolchain accordingly.
$ git clone https://github.com/pcengines/pce-fw-builder.git -b <most_recent_tag>
Remember to use a recent tag in the command above.
$ cd pce-fw-builder
$ ./build.sh
usage: ./build.sh <command> [<args>]
Commands:
dev-build build PC Engines firmware from given path
release build PC Engines firmware from branch/tag/commit of
upstream or PC Engines fork of coreboot
release-CI release command prepared to be run in Gitlab CI
dev-build: ./build.sh dev-build <path> <platform> [<menuconfig_param>]
<path> full path to coreboot source
<platform> apu1, apu2, apu3, apu4 or apu5
<menuconfig_param> menuconfig interface, give 'help' for more information
release: ./build.sh release <ref> <platform> [<menuconfig_param>]
<ref> valid reference branch, tag or commit
<platform> apu1, apu2, apu3, apu4 or apu5
<menuconfig_param> menuconfig interface, give 'help' for more information
This repository can be very useful for developers. First there is dev-build
which will build coreboot tree according to provided revision, but assuming you
starting from scratch and want to work with release version v4.6.x
for apu2
you can simply:
./build.sh release v4.6.x apu2
This will pull everything needed and build release. Then you can play with code in release/coreboot
and for rebuild simply:
./build.sh dev-build $PWD/release/coreboot apu2
docker build -t pcengines/pce-fw-builder -f Dockerfile.ml .
docker build -t pcengines/pce-fw-builder-legacy -f Dockerfile.legacy .