Difference between revisions of "EBC Exercise 08a Cross-Compiling"

From eLinux.org
Jump to: navigation, search
(Step 2 - Setting up for the BeagleBoard)
m (Step 3 - Start building)
Line 46: Line 46:
  
 
== Step 3 - Start building ==
 
== Step 3 - Start building ==
 
+
Do the following...
 
<pre>
 
<pre>
 
# set environment variables
 
# set environment variables
 +
cd ${OETREE}
 
source source-me.txt  
 
source source-me.txt  
  

Revision as of 07:34, 3 March 2010

This page isn't finished yet, please wait before doing it.

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 almost no time.

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. Be sure to look in oe/openembedded/recipes. These folders contain instructions on where to get and how to build various things. Look in recipes/Linux. Here are instructions for building various Linux kernels. We'll be using linux-omap-2.6.*. What's the highest version you can find?

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 the following to the end of the file.

MACHINE ?= "beagleboard" 

Step 3 - Start building

Do the following...

# set environment variables
cd ${OETREE}
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