Classic Setting Up Build Environment

From AragoWiki

Revision as of 20:36, 6 July 2010 by Jkridner (Talk | contribs)
Jump to: navigation, search

Create a new directory for the build environment:

Create the directory
$ mkdir $HOME/oe
$ cd $HOME/oe

Now check out the following repositories:

Clone Arago repositories
$ git clone git://arago-project.org/git/arago.git
$ git clone git://arago-project.org/git/arago-oe-dev.git
$ git clone git://arago-project.org/git/arago-bitbake.git

Replace "git" protocol with "http" or "ssh", depending on the required access.

Note: To be able to download sources from the net, it may be required to configure Proxy Settings.
Note: If you know what you are doing, you can try using Arago overlay with upstream OpenEmbedded and BitBake repositories.

The directory should now be populated with 3 subdirectories – arago, arago-oe-dev and arago-bitbake.

Arago repository comes with samples of arago/setenv and arago/conf/local.conf files, which you can use as a starting point, by copying them into their actual names (without .sample extension) and modifying to suit your needs:

Copy setup/config files
$ cp arago/setenv.sample arago/setenv
$ cp arago/conf/local.conf.sample arago/conf/local.conf

Edit arago/setenv file and make sure environment variables are set properly. OEBASE should point to the directory you’ve created in the beginning:

File: arago/setenv
export OEBASE=$HOME/oe

Also, in order to use a separate "scratch" area outside of home directory, you may want to enable SCRATCH variable and point it appropriately:

File: arago/setenv
export SCRATCH=/sim/scratch_AID

Now, source this file to set the environment variables:

Set the environment variables
$ . arago/setenv

Or alternatively (which is the same, but maybe required if using other shell than bash):

Set the environment variables
$ source arago/setenv

If not done before, set the PATH variable to point to the CodeSourcery toolchain (refer to Getting CodeSourcery Toolchain for obtaining one):

Point to CSL toolchain
$ export PATH=/opt/arm-2009q1/bin:$PATH

Now it should be ready to start a build of the minimal filesystem image:

Build a minimal base filesystem
$ bitbake arago-base-image

Or to build a bigger filesystem with more applications, libraries and tools:

Build a "demo" filesystem for OMAP3 EVM
$ MACHINE=omap3evm bitbake arago-console-image

To build a kernel, use the following command. Please note, that currently only PSP and linux-omap linux kernels for OMAP3 EVM and linux-omap kernel for BeagleBoard are supported. DaVinci platforms use linux-davinci kernels and also can use linux-davinci-staging, which is a staging area for upcoming features.

Build different kernels for supported platforms
$ MACHINE=omap3evm bitbake virtual/kernel
$ MACHINE=beagleboard bitbake virtual/kernel
$ MACHINE=dm6446-evm bitbake virtual/kernel
$ MACHINE=dm355-evm bitbake virtual/kernel

Resulting images and packages will be placed under arago-deploy directory - images for the filesystem, kernel and bootloader; and ipk for binary IPK packages, respectively.

High-level hierarchy of arago-deploy directory
arago-deploy
|-- images
|   |-- arago
|   |-- dm355-evm
|   |-- dm6446-evm
|   `-- omap3evm
|-- ipk
|   |-- all
|   |-- arago
|   |-- armv5te
|   |-- armv7a
|   |-- dm355-evm
|   |-- dm6446-evm
|   |-- i686
|   |-- i686-armv5te-sdk
|   |-- i686-armv7a-sdk
|   `-- omap3evm
`-- sdk
Personal tools