Skip to content

parallella yoctobuild overview

Peter Saunderson edited this page Jul 27, 2016 · 4 revisions

Home / parallella-yoctobuild / About

Aims of the project

See also the top level project aims.

This project started because it was difficult to create an image for the Parallella board that had associated matching kernel source. Yocto is an obvious choice for creating this environment, however suffers from the limitation that there is little or no support for creating the cross compiler for the target needed to build the Epiphany SDK.

The intention is to create a collection of generic Yocto classes that will assist future developers creating cross compilers for the target. This project is the first step to creating these classes and aims to implement the classes for at least the Epiphany processor. If this project works then it will be possible to easily create a cross compiler for other processors for example AVR.

Yocto allows a project to be split into separate cohesive parts each build with a separate recipe. In addition it allows recipes to inherit or include and override definitions contained in these recipes. Thus this project is divided into parts:

  • meta-epiphany: this contains all things to do with building code for the epiphany processor and in theory could be independent of the target machine.
  • meta-parallella: this is effectively a board support package for the parallella target and is based on work done by Nathan Rossi
  • poky: this is a temporary clone of the Yocto poky repository that is not now needed since Added Epiphany archinfo and Added Epiphany machine definitions patches have been applied to poky.

The remaining Yocto recipes are pulled in directly from source. meta-xilinx provides recipes used to build for the Xilinx Zynq processor used on the Parallella board.

Once complete the Yocto environment will build a distribution for the prototype board (the target) so you can use Smart to update packages (including Epiphany application releases), it will also produce an SDK so that you can use Yocto Eclipse or any IDE to develop Epiphany code on the build machine or a development machine and then copy this to the board, or include the Epiphany code (the cross-target) in the distribution. It will also produce a complete SD card image so that you can boot the board from sd card rather than update via the smart package manager. A couple of scripts are provided to assit with building code for the Epiphany processor, one to run on the target, one to run on the development machine.

There is more work to do so look at the Developer notes if you want to help with this work.