EBC Exercise 22 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 on your host computer 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