EBC Exercise 08a Cross-Compiling

From eLinux.org
Revision as of 14:23, 2 March 2010 by Yoder (talk | contribs) (Step 1 - get Open Embedded metadata)
Jump to: navigation, search

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
  1. you can specify machine on the cmdline:

MACHINE=yourmachine bitbake base-image ; MACHINE=yourmachine bitbake console-image x11-image

  1. If you have set it in local.conf you can do:

bitbake base-image ; bitbake console-image x11-image