EBC Exercise 08a Cross-Compiling
This class is about developing software for embedded Linux. The eLinux site [[1]] is a good source for embedded Linux in general. There are many on going embedded efforts going on many platforms. Poke around the site a while to get a feel for what's happening.
We are going to use the Ångström Distribution [[2]]. It's available many platforms. Look around the site, you may recognize some of them.
Instructions for building Ångström are given here [[3]]; however I'm going to present a Beagle-tuned version of those instructions on this page.
Step 1 - get Open Embedded metadata
First install git
by running the following on your host computer.
sudo apt-get install git-core
Then run the following to load the meta data.
export OETREE="${HOME}/oe" mkdir -p ${OETREE} && cd ${OETREE} git clone git://git.openembedded.org/openembedded.git openembedded cd openembedded git checkout origin/stable/2009 -b stable/2009
The first git transfers some 336,000 object and takes about 18 minutes with the network running at 600 some KiB/s. Keep an eye on it, mine stopped about 23% in and I had to restart it. The second git takes XXX.
Now run the following to update the metadata:
cd ${OETREE}/openembedded git pull
You've created a directory called oe
. Go explore around it to see what is there.
Step 2 - Setting up for the BeagleBoard
We need a small script to setup the environment, so download source-me.txt
[[4] to ${OETREE}.
Now let's setup local.conf
for our needs:
mkdir -p ${OETREE}/build/conf cp ${OETREE}/openembedded/contrib/angstrom/local.conf ${OETREE}/build/conf/
Open ${OETREE}/build/conf/local.conf
in your favourite editor and add:
MACHINE ?= "beagleboard"
Step 3 - Start building
# set environment variables source source-me.txt #Go to the OE tree cd ${OETREE}/openembedded #Make sure it's up to date git pull --rebase #Start building bikebake nano
- you can specify machine on the cmdline:
MACHINE=yourmachine bitbake base-image ; MACHINE=yourmachine bitbake console-image x11-image
- If you have set it in local.conf you can do:
bitbake base-image ; bitbake console-image x11-image