Giter Club home page Giter Club logo

parallella-yoctobuild's Introduction

parallella-yoctobuild elink-redesign

The aim of this project is to create an hdmi version for the parallella board using an fpga built from the oh project with the latest Epiphany SDK

A Simple build environment for Parallella using Yocto

Two branches are significant in this repository:

Instructions

Installing required packages

To use yocto you first need to install some packages. See latest Yocto Project Quick Start. This assumes you are working on a Ubuntu machine:

$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev xterm

Cloning this repository

Clone this repository onto your Linux build machine:

$ git clone [email protected]:peteasa/parallella-yoctobuild
$ cd parallella-yoctobuild

Checkout the branch that provides the versions that you want to use:

$ git checkout elink-redesign

To prepare the environment and download the necessary git submodules, you need to run the initgitsubmodules.sh script. This only needs to be done once:

$ source initgitsubmodules.sh

The result will be new folders poky, meta-xilinx, meta-parallella, meta-epiphany and meta-exotic created from specific commits on github.

Setting up your shell environment

To prepare and run oe-init-build-env you need to run the prepareyoctobuild.sh script:

$ source prepareyoctobuild.sh

This needs to be done once per session.

oe-init-build-env will change the working directory to the build folder.

Building a new development environment

To start the yocto build in the build folder run:

$ bitbake hdmi-image

If you want an SDK then in the same build folder, run:

$ bitbake -c populate_sdk hdmi-image

Other images to build can be found in meta-parallella/recipes-epiphany/images.

The result will be a complete build for the parallella board built on the build machine

parallella-yoctobuild/build_parallella/tmp/deploy/images/parallella-hdmi

Plus for free a complete distribution folder that you publish from a web server to update specific packages on the target - just like you use when you run sudo apt-get install on your Linux build machine. This project uses smart as the package manager on the target:

$ smart update
$ smart upgrade

The SDK is found at parallella-yoctobuild/build_parallella/tmp/deploy/sdk

Adding your own projects or modifying this environment

Yocto allows you to inherit from recipes and override things that you need to replace. In practice, to tailor this environment to your own requirements you only have to create a version of the bblayers.conf and local.conf files that suit your needs and copy them to build_parallella/conf at the appropriate time. The .gitignore file in this environment allows you to create folders like:

$ mkdir meta_mywork
$ mkdir meta-project
$ mkdir meta-projects
$ mkdir meta-test

the above folders will remain ignored by git system. With your version of local.conf and bblayers.conf and any additional layers or bbappend recipes stored in one of these four folders it is then possible to create the build that you need whilst at the same time being able to easily take new versions of this environment with a simple git update. So you dont need to modify any of the files I provide, making git updating easier (no conflicts or local checked out files).

Your workflow would be:

$ cd meta-project
$ source prepare-project.sh

prepare-project.sh would contain something like:

#!/bin/sh

cd ..
source poky/oe-init-build-env build_parallella
cp ../meta-project/local_conf/*.conf ./conf

Links to other information

Tutorials -

Troubleshooting notes - Troubleshooting notes

Instructions for contributors - Instructions for contributors

Instructions for writing to the SD card - Create SD card

parallella-yoctobuild's People

Contributors

peteasa avatar snim2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

parallella-yoctobuild's Issues

"-E option not yet supported" + stub_msg

Hi!

What am I doing bad?

sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev xterm
git clone [email protected]:peteasa/parallella-yoctobuild
cd parallella-yoctobuild
source initgitsubmodules.sh
source prepareyoctobuild.sh
bitbake hdmi-image

log.do_compile.30702.txt

Traceback (most recent call last):
  File "/media/sm0ketst/WDCWD10EAVS/data/devel/parallella.github/parallella/parallella-yoctobuild/build_parallella/tmp/sysroots/x86_64-linux/usr/bin/texinfo-dummy-native/makeinfo", line 109, in <module>
    "-E option not yet supported" + stub_msg
AssertionError: -E option not yet supported
This stand-in version of makeinfo is not yet fully capable of emulating the real
version from the GNU texinfo suite. If you see this message, file a bug report
with details on the recipe that failed.
sm0ketst@neonbox:/media/sm0ketst/WDCWD10EAVS/data/devel/parallella.github/parallella/parallella-yoctobuild/build_parallella$ uname -a
Linux neonbox 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u4 (2016-02-29) x86_64 GNU/Linux

TIA

JJ

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.