Development Environment

Preface

The following instructions have been tested on Ubuntu 12.04
(64 bit) in a VMWare virtual machine.

Some users have reported various issues using Ubuntu 16.04.
We recommend to use Ubuntu 14.04

This page always refers to the latest BSP revision (including ancillary tools) according to the following table:

We recommend using PTXdist version 2013.12.0 to build the OSELAS.Toolchain-2013.12.1. This version may differ from the PTXdist version required to build the BSP itself.

Prerequisites

Please note:
Ubuntu 12.04 is required for the toolchain.

The BSP is available as a project ready to use with the PTXdist1) build system. As PTXdist runs on linux, first of all you need a development workstation (or a virtual machine) with a (preferably) recent Linux distribution installed. The distribution of your choice, however, may not have installed all required packages by default. Commonly missing packages (package names taken from Debian based systems) include:

  • autoconf
  • bc
  • bison
  • build-essential
  • dialog
  • flex
  • g++
  • gawk
  • gettext
  • git
  • libncurses5-dev
  • libxml-parser-perl
  • python-dev
  • quilt
  • texinfo
  • zip
  • socat
  • pkg-config

Although not required by PTXdist, we also recommend to configure and run a tftp server (for image download / update) and an nfs server (for network mounted rootfs) on your development host.

PTXdist set-up

It is recommended to first install PTXdist 2013.12 in order to build the toolchain (see note above). Once the toolchain is compiled, install PTXdist 2013.12 which is required to build the BSP.
You can always use a specific version of PTXdist by explicitly calling ptxdist-<version>.

Example:
$ ptxdist-2013.12

Please note:
The link /usr/local/bin/ptxdist always calls the PTXdists version installed most recently.

Starting with PTXdist 2014.07, ptxdist calls a script which tries to automatically determine and call the required version by parsing the config files in the project directory.

Make sure the development host meets the Downloads page for URLs).

Extract the tarball ptxdist-2013.12.tar.bz2 and install as follows:

$ tar xvf ptxdist-2013.12.tar.bz2
$ cd ptxdist-2013.12
$ ./configure
$ make
$ sudo make install

This will install PTXdist to /usr/local/lib by default. Afterwards please configure PTXdist with:

$ ptxdist setup 
 .config - PTXdist 2013.12
 ──────────────────────────────────────────────────────────────────────────────
  ┌─────────────────────────── PTXdist 2013.12 ───────────────────────────┐
  │  Arrow keys navigate the menu.  <Enter> selects submenus --->.          │  
  │  Highlighted letters are hotkeys.  Pressing <Y> includes, <N> excludes, │  
  │  <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help, </> │  
  │  for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < >       │  
  │ ┌─────────────────────────────────────────────────────────────────────┐ │  
  │ │    --- PTXDIST Setup Menu                                           │ │  
  │ │        User                --->                                     │ │  
  │ │        Proxies             --->                                     │ │  
  │ │        Project Searchpath  --->                                     │ │  
  │ │        Source Directories  --->                                     │ │  
  │ │        Source Download     --->                                     │ │  
  │ │        IPKG Repository     --->                                     │ │  
  │ │        Java SDK            --->                                     │ │  
  │ │        Developer Options   --->                                     │ │  
  │ │                                                                     │ │  
  │ └─────────────────────────────────────────────────────────────────────┘ │  
  ├─────────────────────────────────────────────────────────────────────────┤  
  │        <Select>    < Exit >    < Help >    < Save >    < Load >         │  
  └─────────────────────────────────────────────────────────────────────────┘  

To personalise your PTXdist installation, please fill out:

  • User (username and mail address)

Depending on your environment, the most important settings are:

  • Proxies (ftp / http / hhtps proxies)
  • Source Directories (path for archive of downloaded source packages (aka local package pool))

For further details on setup options, please see the PTXdist manual.

Toolchain installation

See download section.
By default the toolchain will get installed to /opt/OSELAS.Toolchain-<version>.

Follow chapter “Building a toolchain” in the PTXdist manual and keep in mind:

  • When you are asked to run the command
    $ ptxdist select ptxconfigs/...

    select this ptxconfig: ptxconfigs/arm-cortexa8-linux-gnueabi_gcc-<version>_glibc-<version>_binutils-<version>_kernel-<version>-sanitized.ptxconfig (for SBCa335x)

  • To build the toolchain project you should install the corresponding PTXdist version for the Toolchain (as told in the documentation).

The Toolchain normally is already setup in the BSP project. So you can move on to the next step.

BSP installation

See the README in the zip package for a detailed description of the zip contents

Extract the package 0100.zip to any directory (e.g. /opt or /home):

$ cd /opt/projekte
$ tar -xvf .tar.gz
$ cd .0100