Setting Up Build Environment

= Prerequisites =

The following prerequisites are required and only need to be done once. If you have this previously taken care of, please skip to the Quick Start section or Detailed Setup section.

Cross-compile toolchain
While meta-arago can use different toolchains, the one currently recommended is the Linaro 7.2-2017.11. If you don't have it installed, download and unpack the binary distribution.

The toolchain will be installed in the  directory under your   directory. You can also install it in a system-wide location. Starting with Rocko release, location of the toolchain should be specified by  passed to   on the command line, as an environment variable, or set in your local.conf file. Alternatively,  can be passed, if toolchain's default directory name hasn't been changed. See examples in Point to the toolchain to use section. Please note that prior to Rocko release, location of the toolchain had to be specified by  environment variable.

Host tools
Some generic development tools are required on your host Linux machine. The below commands are specific to Ubuntu Linux distribution (currently recommended version is 16.04, or at least 14.04), please adopt to your distribution of choice accordingly.

If you are using a 64-bit Linux, then you'd also need to install 32-bit support libraries, needed by the pre-built Linaro toolchain and other binary tools.

On newer systems, like Ubuntu 14.04 or later, the above ia32-libs may not be enough and following packages are required:

It is also recommended to switch your system shell from Ubuntu's standard  to more universal.

= Quick Start =

To quickly start making your own builds using meta-ti BSP layer and meta-arago Distribution layer, you can follow this short Quick Start section by entering below commands. For more expanded guide with each step detailed and sample output of the entered commands shown, please see the next Detailed Setup section.

NOTE: You can change the config above to the one matching the Yocto release you are using. See Available Layer Configurations section below.

= Detailed Setup =

Setting up the Build Environment for meta-ti/meta-arago is quite easy - most of the heavy lifting is done by the setup scripts. This section explains the required steps in more details.

Clone the Setup script
The setup script itself and a number of sample configuration files are stored in a public git repository on the arago-project.org server. Follow the below commands to clone the latest version of the oe-layersetup scripts repository.

Available Layer Configurations
There are several sample configuration files available along with the Setup script to configure layer stacks. Here's a short list of config files with their brief description.

Run the Setup script
Once the OE Layer Setup scripts are cloned, you can go ahead and check the sample configuration files in the  directory for possible layer stack configurations. As an example we'll be using  that sets all the necessary Yocto Project layers including meta-ti and meta-arago, based on the "Dylan" stable branches, that correspond to the 1.4 release of the Yocto Project.

The script downloads all the necessary meta layers from corresponding git repositories ans sets up default build configuration. At the end, the script shows some examples of how to start the build, with few common targets to get you started. We'll be showing examples of, which is a good easy start. Also, meta-arago defines few of its own image targets, the most complete one being  (Core TI-SDK), which combines   for the RootFS with   for the DevKit. Once you get familiar and comfortable with building minimal targets, you can try building the complete Core TI-SDK, but the complete one make take few hours to finish. NOTE: Some platforms, such as Keystone2, don't have graphics support and use, instead of

Source the generated environment
As part of the setup, the OE Layer Setup script generates a basic OpenEmbedded configuration stored in the  file, which you can open in a text editor and make sure it looks good - all the settings in there are accompanied with explanations. Also, there is a  environment script, that needs to be sourced before the build (normally, once for every newly spawned shell instance).

Point to the toolchain to use
We need to have the Cross-compile toolchain location passed with  variable to the build.

Start the build
Now we are ready to start the build process, which may take some time to finish, especially if you are running it for the first time. Subsequent builds will usually be much shorter, as they re-use the data from past builds, stored in the  directory.

Once the build finishes, the resulting artifacts are stored in the  directory under. The images (bootloaders, kernel and rootfs) go into, binary packages go into   and devkits go into   directories. You should be able to flash those images or write them to an SD card and boot your target board.