From foonas
Jump to: navigation, search



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 and


Required Software

Install the required software

Directory Structure

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/

Install bitbake

Use the version of bitbake in our git repository. Go to the base directory of your OpenEmbedded environment and checkout bitbake:

$ git clone 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:// /stuff/

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/

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/
$ git pull


Install the appropriate local.conf for the distribution you are compiling for. This file should be installed to /stuff/build/conf/.

Personal tools