Difference between revisions of "How to use the Yocto Project to develop Embedded Linux"

From IGEP - ISEE Wiki

Jump to: navigation, search
Line 63: Line 63:
 
=== Ubuntu 13.04 ===
 
=== Ubuntu 13.04 ===
  
WARNING: Host distribution "Ubuntu 13.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
+
WARNING: Host distribution "Ubuntu 13.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution (see [http://www.yoctoproject.org/docs/1.4.2/ref-manual/ref-manual.html#detailed-supported-distros yocto validated distributions from yoctoproyect.org]).
  
 
Although denzil branch is not validated for "Ubuntu 13.04" we have successfully build denzil images with this distribution, see notes below:
 
Although denzil branch is not validated for "Ubuntu 13.04" we have successfully build denzil images with this distribution, see notes below:

Revision as of 17:53, 7 October 2013

How to use the Yocto Project to develop Embedded Linux

The Yocto Project™ is an open source collaboration project that provides templates, tools and methods to help you create custom Linux-based systems for embedded products regardless of the hardware architecture. Taken directly from the Yocto Project website:

Yocto Project™ it's not an embedded Linux distribution – it creates a custom one for you

The Yocto Project™ is an umbrella project covering a fairly wide swath of embedded Linux technologies an distributions. For example, the Angstrom Distribution is declared as a Yocto Project Participant

Much of this How-To is extracted from different sources. If you would like to read some of the original articles or resources, please visit them and thank the authors:

Overview of How-To

This How-To is meant to be a starting point for people to learn build and run Yocto-based images for IGEP Technology devices as quickly and easily as possible.

Why use the Yocto Project™

Because it's a complete embedded Linux development environment with tools, metadata, and documentation - everything you need. The free tools are easy to get started with, powerful to work with (including emulation environments, debuggers, an Application Toolkit Generator, etc.) and they allow projects to be carried forward over time without causing you to lose optimizations and investments made during the project’s prototype phase. The Yocto Project fosters community adoption of this open source technology allowing its users to focus on their specific product features and development

Build Platform Setup Environment

Yocto Project 1.2 - Poky 7.0.y "Denzil"

The Yocto Project 1.2 series are supported by IGEP PROCESSOR BOARDS based on:

See the Yocto Project 1.2 - Poky 7.0.y denzil article

Yocto Project 1.4 - Poky 9.0.y "Dylan"

The Yocto Project 1.4 series are supported by IGEP PROCESSOR BOARDS based on:

See the Yocto Project 1.4 - Poky 9.0.y dylan article

Create your own Linux image

TODO

Yocto 1.2 'denzil' documentation

Official documentation

Notes

Ubuntu 13.04

WARNING: Host distribution "Ubuntu 13.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution (see yocto validated distributions from yoctoproyect.org).

Although denzil branch is not validated for "Ubuntu 13.04" we have successfully build denzil images with this distribution, see notes below:

Note 1: If you get the following error, or similar:

NOTE: package prelink-native-1.0+git1+7b47f2f8a15ed13b7905bc120bb2586f3e164f7d-r9: task do_fetch: Started
WARNING: Failed to fetch URL git://git.yoctoproject.org/prelink-cross.git;protocol=git
ERROR: Fetcher failure: Fetch command export HOME="..."; export SSH_AGENT_PID="2230"; export SSH_AUTH_SOCK="..."; export GIT_CONFIG="..."; git remote add --mirror=fetch origin git://git.yoctoproject.org/prelink-cross.git could not be run:

Remove the local build of git-native

bitbake git-native -c cleanall

and assume as provided adding the following line to conf/local.conf

ASSUME_PROVIDED += "git-native"

Note 2: If you get the following error, or similar:

INSTALL net/netfilter/xt_policy.ko
|   MKDIR   .../tmp/work/igep00x0-poky-linux-gnueabi/linux-igep-2.6.37-r6/image/lib/firmware/edgeport/
| make[1]: *** No rule to make target `.../image/lib/firmware/./', needed by `.../whiteheat_loader.fw'.  Stop.
| make[1]: *** Waiting for unfinished jobs....
| make: *** [_modinst_post] Error 2
| ERROR: oe_runmake failed
NOTE: package linux-igep-2.6.37-r6: task do_install: Failed

Remove the local build of make-native

bitbake make-native -c cleanall

and assume as provided adding the following line to conf/local.conf

ASSUME_PROVIDED += "make-native"

See also

External links

Others IGEP wiki articles