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

Obtain bitbake and OpenEmbedded

Step 2

Install bitbake :

mkdir /OE && cd /OE tar zxf /OE/bitbake-1.8.10.tar.gz

get OE metadata:

cd /OE git clone git://git.openembedded.net/openembedded.git org.openembedded.stable cd org.openembedded.stable git checkout -b org.openembedded.stable origin/org.openembedded.stable

Update OE metadata:

cd /OE/org.openembedded.stable git pull

Step 3

We need a small script to setup the environment, so download source-me.txt to /OE.

Put the following in your /OE/build/conf/local.conf:

# Where to store sources DL_DIR = "/OE/downloads" # Which files do we want to parse: BBFILES := "/OE/org.openembedded.stable/packages/*/*.bb" BBMASK = "" # ccache always overfill $HOME.... CCACHE="" # What kind of images do we want? IMAGE_FSTYPES = "jffs2 tar.gz " # Set TMPDIR instead of defaulting it to $pwd/tmp TMPDIR = "/OE/${DISTRO}-stable/" # Make use of my SMP box PARALLEL_MAKE="-j4" BB_NUMBER_THREADS = "2" # Set the Distro DISTRO = "angstrom-2007.1" # 'uclibc' or 'glibc' or 'eglibc' #ANGSTROM_MODE = "glibc" MACHINE = "<your machine>"

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

  • 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 4

Start building:

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

Step 5

Building for a different machine or C library is just a matter of changing the MACHINE= or ANGSTROM_MODE 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