Classic Setting Up Build Environment

From AragoWiki

(Difference between revisions)
Jump to: navigation, search
Line 7: Line 7:
</pre>
</pre>
}}
}}
-
 
-
To be able to download sources from the net, it may be required to configure [[Proxy Settings]].
 
Now check out the following repositories:
Now check out the following repositories:
Line 22: Line 20:
Replace "git" protocol with "http" or "ssh", depending on the required access.
Replace "git" protocol with "http" or "ssh", depending on the required access.
-
Note: If you know what you are doing, you can try using Arago overlay with [[Use Upstream OE and BitBake|upstream OpenEmbedded and BitBake]] repositories.
+
{{Box Note|To be able to download sources from the net, it may be required to configure [[Proxy Settings]].}}
 +
 
 +
{{Box Note|If you know what you are doing, you can try using Arago overlay with [[Use Upstream OE and BitBake|upstream OpenEmbedded and BitBake]] repositories.}}
The directory should now be populated with 3 subdirectories – <code>arago</code>, <code>arago-oe-dev</code> and <code>arago-bitbake</code>.
The directory should now be populated with 3 subdirectories – <code>arago</code>, <code>arago-oe-dev</code> and <code>arago-bitbake</code>.
Line 28: Line 28:
Edit <code>arago/setenv</code> file and make sure environment variables are set properly. <code>OEBASE</code> should point to the directory you’ve created in the beginning:
Edit <code>arago/setenv</code> file and make sure environment variables are set properly. <code>OEBASE</code> should point to the directory you’ve created in the beginning:
-
export OEBASE=$HOME/oe
+
{{Box File|arago/setenv|
 +
<pre>
 +
export OEBASE=$HOME/oe
 +
</pre>
 +
}}
Also, in order to use a separate "scratch" area outside of home directory, you may want to enable <code>SCRATCH</code> variable and point it appropriately:
Also, in order to use a separate "scratch" area outside of home directory, you may want to enable <code>SCRATCH</code> variable and point it appropriately:
-
export SCRATCH=/sim/scratch_AID
+
{{Box File|arago/setenv|
 +
<pre>
 +
export SCRATCH=/sim/scratch_AID
 +
</pre>
 +
}}
Now, source this file to set the environment variables:
Now, source this file to set the environment variables:
-
$ . arago/setenv
+
{{Box Output|Set the environment variables|
 +
<pre>
 +
$ . arago/setenv
 +
</pre>
 +
}}
Or alternatively (which is the same, but maybe required if using other shell than bash):
Or alternatively (which is the same, but maybe required if using other shell than bash):
-
$ source arago/setenv
+
{{Box Output|Set the environment variables|
-
 
+
<pre>
-
TI Note: Users of TI RHEL4 systems should also source the <code>arago/ti-rhel4-setenv</code> to set additional paths:
+
$ source arago/setenv
-
 
+
</pre>
-
$ . arago/ti-rhel4-setenv
+
}}
<!-- Make sure your <code>arago/conf/local.conf</code> points to the CodeSourcery toolchain:
<!-- Make sure your <code>arago/conf/local.conf</code> points to the CodeSourcery toolchain:
Line 52: Line 64:
If not done before, set the <code>PATH</code> variable to point to the CodeSourcery toolchain (refer to [[Getting CodeSourcery Toolchain]] for obtaining one):
If not done before, set the <code>PATH</code> variable to point to the CodeSourcery toolchain (refer to [[Getting CodeSourcery Toolchain]] for obtaining one):
-
$ export PATH=/opt/arm-2007q3/bin:$PATH
+
{{Box Output|Point to CSL toolchain|
 +
<pre>
 +
$ export PATH=/opt/arm-2007q3/bin:$PATH
 +
</pre>
 +
}}
-
Extract the <code>arago-csl-sdk.tar.bz2</code> from http://arago-project.org/files/short-term/extras/ on top of the CodeSourcery toolchain (that may require root permissions, depending where CS toolchain was installed):
+
Extract the <code>arago-csl-sdk.tar.bz2</code> from http://arago-project.org/files/short-term/extras/ on top of the CodeSourcery toolchain (that may require root permissions, depending where CSL toolchain was installed):
-
# tar -jxvf arago-sdk-bins/arago-csl-sdk.tar.bz2 -C /opt/arm-2007q3
+
{{Box Output|Extract additional files|
 +
<pre>
 +
# tar -jxvf arago-sdk-bins/arago-csl-sdk.tar.bz2 -C /opt/arm-2007q3
 +
</pre>
 +
}}
Now it should be ready to start a build of the minimal filesystem image:
Now it should be ready to start a build of the minimal filesystem image:
-
$ bitbake arago-base-image
+
{{Box Output|Build a minimal base filesystem|
 +
<pre>
 +
$ bitbake arago-base-image
 +
</pre>
 +
}}
Or to build a bigger filesystem with more applications, libraries and tools:
Or to build a bigger filesystem with more applications, libraries and tools:
-
$ bitbake arago-demo-image
+
{{Box Output|Build a "demo" filesystem for OMAP3 EVM|
 +
<pre>
 +
$ MACHINE=omap3evm bitbake arago-demo-image
 +
</pre>
 +
}}
To build a kernel, use the following command. Please note, that currently only PSP and [http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=summary linux-omap] linux kernels for OMAP3 EVM and [http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=summary linux-omap] kernel for BeagleBoard are supported. DaVinci platforms use [http://git.kernel.org/?p=linux/kernel/git/khilman/linux-davinci.git linux-davinci] kernels and also can use [http://arago-project.org/git/people/?p=sneha/linux-davinci-staging.git;a=summary linux-davinci-staging], which is a staging area for upcoming features.
To build a kernel, use the following command. Please note, that currently only PSP and [http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=summary linux-omap] linux kernels for OMAP3 EVM and [http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=summary linux-omap] kernel for BeagleBoard are supported. DaVinci platforms use [http://git.kernel.org/?p=linux/kernel/git/khilman/linux-davinci.git linux-davinci] kernels and also can use [http://arago-project.org/git/people/?p=sneha/linux-davinci-staging.git;a=summary linux-davinci-staging], which is a staging area for upcoming features.
-
$ MACHINE=omap3evm bitbake virtual/kernel
+
{{Box Output|Build different kernels for supported platforms|
-
$ MACHINE=beagleboard bitbake virtual/kernel
+
<pre>
-
$ MACHINE=dm6446-evm bitbake virtual/kernel
+
$ MACHINE=omap3evm bitbake virtual/kernel
-
$ MACHINE=dm355-evm bitbake virtual/kernel
+
$ MACHINE=beagleboard bitbake virtual/kernel
 +
$ MACHINE=dm6446-evm bitbake virtual/kernel
 +
$ MACHINE=dm355-evm bitbake virtual/kernel
 +
</pre>
 +
}}
Resulting images and packages will be placed under <code>arago-deploy</code> directory - <code>images</code> for the filesystem, kernel and bootloader; and <code>ipk</code> for binary IPK packages, respectively.
Resulting images and packages will be placed under <code>arago-deploy</code> directory - <code>images</code> for the filesystem, kernel and bootloader; and <code>ipk</code> for binary IPK packages, respectively.
 +
 +
{{Box Output|High-level hierarchy of arago-deploy directory|
 +
<pre>
 +
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
 +
</pre>
 +
}}

Revision as of 18:22, 9 June 2009

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.

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-2007q3/bin:$PATH

Extract the arago-csl-sdk.tar.bz2 from http://arago-project.org/files/short-term/extras/ on top of the CodeSourcery toolchain (that may require root permissions, depending where CSL toolchain was installed):

Extract additional files
# tar -jxvf arago-sdk-bins/arago-csl-sdk.tar.bz2 -C /opt/arm-2007q3

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-demo-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