Building Ångström

All Ångström images are built using OpenEmbedded. This document described the steps necessary to setup an environment where you can build images and packages yourself. For a general introduction to setting up OpenEmbedded, see GettingStarted wiki page. If you run into trouble following the below tutorial, have a look at the GettingStarted wiki page, that contains information on all kinds of cornercases. The tutorial below is kept simple on purpose.

Step 1

get OE metadata:

NOTA BENE: These instructions will use the OETREE environment variable, you can change that to the path you want to install OE to. Beware of the restrictions mentioned in the GettingStarted wiki page.
export OETREE="/OE" mkdir -p ${OETREE} && cd ${OETREE} git clone git://git.openembedded.org/openembedded.git openembedded cd openembedded git checkout origin/stable/2009 -b stable/2009

Update OE metadata:

cd ${OETREE}/openembedded git pull

Step 2

We need a small script to setup the environment, so download source-me.txt to ${OETREE}.

NOTA BENE:This scripts sets OETREE, so change that if your OETREE is not /OE

Now let's setup local.conf for out needs:

mkdir -p ${OETREE}/build/conf cp ${OETREE}/openembedded/contrib/angstrom/local.conf ${OETREE}/build/conf/

Open ${OETREE}/build/conf/local.conf in your favourite editor and add:

MACHINE = "<your machine>"

Substitute "<your machine>" with the machine you want to build for, e.g.:

  • beagleboard- For the OMAP3 beagleboard.org board
  • c7x0 - For pxa25x zaurus clamshells (SL-C700, SL-C750, SL-C760, SL-C860, SL-7500)
  • spitz - For pxa27x zaurus clamshells with a microdrive (SL-C3000, SL-C3100, SL-C3200)
  • akita - For pxa27x zaurus clamshells without a microdrive (SL-C1000)
  • tosa - For the SL-C6000
  • h2200 - For the iPAQ h2200 series
  • hx4700 - For the iPAQ hx4700
  • fic-gta01 - For the neo1973 phone
Or get some inspiration from here for picking a MACHINE.

Step 3

Start building:

# set environment variables source source-me.txt #Go to the OE tree cd ${OETREE}/openembedded #Make sure it's up to date git pull --rebase #Start building bitbake base-image ; bitbake console-image ; bitbake x11-image

Step 4

Building for a different machine or C library is just a matter of changing the MACHINE= or ANGSTROMLIBC statement in local.conf to a new value. There is ABSOLUTELY no need for using different directories for that; Angstrom takes care of all the details, it was specifically designed for this.

Back to top