At this point, your $OEBASE/
directory should
contain at least the following subdirectories:
build/
bitbake/
openembedded/
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:
$ export BB_ENV_EXTRAWHITE="OEBASE"
Note the absence of the "$" character which implies that you are
setting BB_ENV_EXTRAWHITE
to the variable name, not
the variable value.
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 org.openembedded.dev
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:
$ setenv VAR_NAME "VAR_VALUE"