Configuring OpenEmbedded

At this point, your $OEBASE/ directory should contain at least the following subdirectories:

Environment Setup

There are a few environment variables that you will need to set before you can build software for OpenEmbedded using BitBake. You will need to set these variables every time you open a terminal for development. You can automate this in ~/.profile, /etc/profile, or perhaps use a script to set the necessary variables for using BitBake.

Since the path to your OpenEmbedded installation will be used in many places, setting it in your environment will allow you to use the $OEBASE variable in all pathes and make it easier to change in the future should the need arise. To set $OEBASE if you use a Bourne like shell [1], do this:

$ export OEBASE=/path/to/your/oe/installation

If you followed the recommendation to use BitBake from svn, you will need to add the path to the BitBake executable to your PATH environment variable like this:

$ export PATH=$OEBASE/bitbake/bin:$PATH

In order for bitbake to find the configuration files for OpenEmbedded, you will need to set the BBPATH variable.

$ export BBPATH=$OEBASE/build:$OEBASE/openembedded

Finally, if you wish to allow BitBake to inherit the $OEBASE variable from the environment, you will need to set the BB_ENV_EXTRAWHITE variable:


Note the absence of the "$" character which implies that you are setting BB_ENV_EXTRAWHITE to the variable name, not the variable value.

Local Configuration

It is now time to create your local configuration. While you could copy the default local.conf.sample like this:

$ cd $OEBASE
$ cp openembedded/conf/local.conf.sample build/conf/local.conf
$ vi build/conf/local.conf

It is actually recommended to start smaller and keep local.conf.sample in the background. Add entries from there step-by-step as you understand and need them. Please, do not just edit build/conf/local.conf.sample but actually READ it (read it and then edit it).

For building an branch, in your local.conf file, you should have at least the following three entries: BBFILES, DISTRO and MACHINE. For example, consider the following mininal local.conf file for the Ångström distribution and the Openmoko gta01 machine:

BBFILES = "${OEBASE}/openembedded/packages/*/*.bb"
DISTRO = "angstrom-2008.1"
MACHINE = "om-gta01"

[1] If you use a CSH like shell (e.g. on a FreeBSD system), you will set environment variables like this: