Our source code repository follows the OpenEmbedded dev branch reasonably closely, however changes up and down are managed carefully. Also various foonas/openlink related specifics are maintained in our SCM system and for these reasons you need to use OpenEmbedded via our git server when compiling for target platforms running foonas.
This how-to is based on articles at openembedded.org and nas-central.org.
Install the required software
The base directory of your OpenEmbedded environement (/stuff/) is the location where sources will be checked out (or unpacked). You must choose a location with no symlinks above it. If you work in a chrooted environment it is highly recommended to 'su - ' after you have chrooted, otherwise compilation may fail because ccache needs a valid $HOME - which is set when using a user account.
To create the directory structure:
$ mkdir -p /stuff/build/conf $ cd /stuff/
Use the version of bitbake in our git repository. Go to the base directory of your OpenEmbedded environment and checkout bitbake:
$ git clone git://git.foonas.org/pub/scm/bitbake.git /stuff/bitbake
If this version of bitbake fails to work correctly try installing version >=1.8.10 if this is provided by your distributions package system. This is the preferred and minimum version of bitbake required to build from foonas git.
Install OpenEmbedded snapshot
Pull our OpenEmbedded repository. Note that this may take a while to come down.
$ git clone git://git.foonas.org/pub/scm/openembedded.git /stuff/org.openembedded.dev
Setup a config
Download the local.conf (attached at the bottom of this page) and copy it to /stuff/build/conf/local.conf. Find the MACHINE variable and change it to the openembedded machine name for your machine - you can find this on the page for your machine on the home page of this wiki.
If you have changed paths used in this install you will need to make additional modifications to local.conf.
Configure your environment
I can't stress how important it is to create a separate user for this and to not do it as root. You have been warned! Add the following to your .bash_profile and ensure the user has the correct permissions within your OpenEmbedded environment:
export PATH=/stuff/bitbake/bin:$PATH export BBPATH=/stuff/build:/stuff/org.openembedded.dev
Congratulations, you should now have a working installation preconfigured for your target device.
Updating OpenEmbedded and bitbake
If you are developing for foonas or openlink it is essential that you keep your local copy in sync with our repositories. Here is how to update:
$ cd /stuff/bitbake $ git pull $ cd /stuff/org.openembedded.dev $ git pull
Install the appropriate local.conf for the distribution you are compiling for. This file should be installed to /stuff/build/conf/.