Setting Up Build Environment
From AragoWiki
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.
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 |

