Kovan firmware
Kovan uses a newer, overlay-based version of OpenEmbedded than NeTV. Because of this, recipes tend to be more scattered, however it makes compilation much faster as you can leave out overlays that you do not use.
Contents
Before you begin
The build environment should not be on an encrypted partition. These tend to have much lower path lengths, which can break the build in mysterious and hard-to-track-down ways.
You should not use have a symlink in the path of the build system. This can also break things.
Setting up the environment
There are two approaches you can take to set up the environment: From-scratch, or with a quickstart package. The quickstart method should save you a day or two, as downloading the kernel and webkit sources can take a very long time – on the order of days.
From scratch
Note that these steps are very similar to the generic Building Angstrom steps.
- Check out setup-scripts from git
- git clone https://github.com/sutajiokousagi/setup-scripts oe
- cd oe
- Configure OE
- MACHINE=kovan ./oebb.sh config kovan
- MACHINE=kovan ./oebb.sh update
Quickstart
- Download quickstart.zip.
- Extract it to the location where you want your build system to reside. It expands into a directory called "oe".
- unzip quickstart.zip
- cd oe
Building an image
Set up your session by sourcing the OE environment file:
. ~/.oe/environment-oecore
There are many images available. To list them all, run:
find sources/meta-* sources/openembedded-core -name '*image*.bb'
There is a Kovan bringup image that contains many useful system tools for determining system performance, communicating with various peripherals, and generally bringing up the system. To build this image, run:
bitbake kovan-bringup-image
Writing an image to a card
When an image is built, various files are added to the deploy/images/kovan/ directory. The image name is embedded within the resulting compressed ROM file. For example, the image for kovan-bringup-image is located at oe/build/tmp-angstrom_2010_x-eglibc/deploy/images/kovan/rom-kovan-hw-bringup.img.gz.