WORK IN PROGRESS

This page describes how to set up the Openembedded environment for the unstable branch of Angstrom. As you will see, the process is somewhat similar to Setting up for Openembedded, but with some key changes to adapt the openAOS overlay to work with the unstable branch.

This project uses OpenEmbedded (OE) as its build platform. This tutorial is based on  the OpenEmbedded.net Getting Started page, refer to it if anything on this page is not clear.

1. First, read the section relative to the linux distribution you will be compiling OpenEmbedded on at " OE and your distro", install the recommended packages and resolve any possible issue listed on that page.

For Ubuntu Users the following page will provide a full tutorial on setting up an OpenEmbedded Environment. NOTE that it is NOT compatible with the openAOS overlay though! Just use them for reference which packages to install'''

 Developing for the Archos 5

2. Create an empty folder, in this tutorial we use /usr/src/openaos. This folder will contain your entire OE environment, the openAOS overlay, and everything else you might ever need for this project.

mkdir -p /usr/src/openaos

It is likely that you re-aquire root permissions to create the directory. If this is so then the above step will result in a permission denied. If this occurs perform the following:

sudo -s
mkdir -p /usr/src/openaos
chown -R username /usr/src/openaos/

The root password will be required for after the sudo command. Replace username with whatever user name you use. The chown comand will change the ownership from root to your username. To check all is well do a ls -lat command and the following line should be shown: drwxr-sr-x 3 robert src 4096 2010-02-10 20:31 openaos k 3. The openAOS projet maintains its own overlay on top of the OpenEmbedded environment. It is available from our Subversion repository:

cd /usr/src/openaos
svn co http://svn.openpma.org/svn/openpma-ng/trunk/openembedded/build/

Be sure to run an update occasionally:

cd /usr/src/openaos/build
svn update

4. The next step is to download the build tool, BitBake:

cd /usr/src/openaos/build
wget http://download.berlios.de/bitbake/bitbake-1.8.18.tar.gz
tar -xzf bitbake-1.8.18.tar.gz
mv bitbake-1.8.18 bitbake
rm bitbake-1.8.18.tar.gz

5. The next thing you need to do is to clone the official OpenEmbedded source tree. You should not have to checkout the unstable branch, as git clone will default the branch to org.openembedded.dev

cd /usr/src/openaos/build
git clone git://git.openembedded.org/openembedded

The unstable branch will change more frequently than the stable branches, so once in a while, run an update on your git repository:

cd /usr/src/openaos/build/openembedded
git pull --rebase

6. Download and extract the following tarball into /usr/src/openaos . This will add ALL necessary files and modifications required to build individual packages, AND the openAOS Angstrom-Enlightenment build.***

 http://openaos.org/~spz0/test/build.tar.gz

Be sure to edit profile.conf and local.conf, updating them with the correct path to the openAOS build tree (eg. /home/LOCAL_USER/usr/src/openaos/build) /home/LOCAL_USER

7. Next we have to remove an angstrom 2008 stable config file from the openaos overlay, so bitbake will not encounter a parsing error upon use.

cd /usr/src/openaos/build/openaos/conf/distro
rm angstrom-2008.1.conf

8. Now to install chrpath (required by bitbake once we remove angstrom-2008.1.conf)

apt-get install chrpath

9. Each time you want to work with your OE environment to build packages, you will need to configure your shell environment by:

cd /usr/src/openaos/build/profiles/openaos
source profile.sh

The profile.sh script adds OE specific environment variables to specify where OE's tools live and how your build environment is setup.

You should now be able to build individual packages. So far, individual packages have been built successfully, but full angstrom distributions/images have not succeeded. (Please see "***" below for more information)

To create the openAOS-enlightenment-Angstrom build, type:

bitbake extended-e17-openaos-image

**please note that although this should build successfully, it will not boot/post. More work needs to be done in order for the image to boot correctly. Please read below for changes/modifications if you are interested in taking a shot at getting this image to boot.

Notes: ***These are the following modifications I have had to make to the recipe/tree to get a successful compile of the openAOS Overlay (PLEASE NOTE: This build does NOT post -- so this information is here for others to work on to get a successful build). All files and modifications are present in the above tarball (step 6)

BUGS/ERRORS AND SOLUTIONS:::

Bug: expat Gzip bug
Solution: unzipped and repacked with Ark -- stuck in expat/files folder -- redirected bb to reflect new download dir.

Error: build calls on gcc-cross-kernel-4.2.1 when 4.3.3 is used
Solution: directory created solves error >> /usr/src/openaos/build/angstrom-dev/cross/armv7a/lib/gcc/arm-angstrom-linux-gnueabi/4.2.1/include/ <<

Error: build calls on tcl 8.5
Solution: tcl 8.5 copied from openembedded dir to openaos overlay dir

Error: md5sum/sha256sum error reported from cairo 1.8.10
Solution: md5sum inserted into cairo recipe
SRC_URI[md5sum] = "b60a82f405f9400bbfdcf850b1728d25"
SRC_URI[sha256sum] = "572bada15596ec8708392db1af8b93a1af75ca47690348154e2841f3a6f08439"

Error: Build fails to compile Mplayer, Dropbear, Fbreader
Solution: remove mplayer, dropbear, fbreader from overlay (Needs to be fixed)

Error: Build calls on x86-input-tslib_0.0.6
Solution: copy xorg-driver/x86-input-tslib_0.0.6.bb AND x86-input-tslib directory to openaos overlay dir.  add archos patch to x86-input-tslib dir

Error: No such file or directory error when trying to execute post-processing script.
Solution: in "extended-e17-openaos-image.bb" change line 33  to:
${IMAGE_ROOTFS}/../../../openaos/recipes/images/extended-openaos-image-postprocess.sh ${IMAGE_ROOTFS}; \