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

From IGEP - ISEE Wiki

Jump to: navigation, search
(Remove duplicated instructions)
Line 1: Line 1:
= How to use the Yocto Project to develop Embedded Linux =
+
=What is Yocto Project=
 
 
 
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.
 
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:
 
Taken directly from the Yocto Project website:
Line 6: Line 5:
 
'''Yocto Project™ it's not an embedded Linux distribution – it creates a custom one for you'''
 
'''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 [http://www.angstrom-distribution.org/ Angstrom Distribution ] is declared as a [https://www.yoctoproject.org/organization/angstrom-distribution Yocto Project Participant]
+
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:
 
 
 
*The Yocto project website ( http://www.yoctoproject.org )
 
*The Yocto project documentation ( http://www.yoctoproject.org/documentation )
 
*The Openembedded website ( http://www.openembedded.org/ )
 
 
 
== 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" ===
+
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:
  
The Yocto Project 1.2 series are supported by IGEP PROCESSOR BOARDS based on:
+
* The Yocto project website ( http://www.yoctoproject.org )
 +
* The Yocto project documentation ( http://www.yoctoproject.org/documentation )
 +
* The Openembedded website ( http://www.openembedded.org/ )
  
<gallery heights="100px">
+
==Why use the Yocto Project™ ==
File:omap3.png
+
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
</gallery>
 
  
See the [[Yocto Project 1.2 - Poky 7.0.y denzil]] article
+
==How to build Poky custom Linux distribution==
 +
Yocto will be built on a host machine targeting and igep board. It will use Poky software to generate the custom linux distribuion Linux distribution. Before starting with yocto, you need to set up the host machine.
  
=== Yocto Project 1.4 - Poky 9.0.y "Dylan" ===
+
=== ===
 +
===Host Setup===
 +
Yocto is expecting the host system to have preinstalled packages. Depending on the type of development, the host system will need more or less packages. On Ubuntu / Debian here is a table depending on the type of development.
  
The Yocto Project 1.4 series are supported by IGEP PROCESSOR BOARDS based on:
+
If you dont know the type of development we recommend you to start with Essential type.
  
<gallery heights="100px">
+
{| class="contenttable sortable"
File:am335x.png
+
|-
</gallery>
+
!|Type of Development
 +
!|Description
 +
!|Package List
 +
|-
 +
||Essential
 +
||For building images on a headless system
 +
||gawk wget git-core diffstat unzip texinfo gcc-multilib \<br /> build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \<br /> xz-utils debianutils iputils-ping
 +
|-
 +
||Graphical + Eclipse Plugins
 +
||For building images on a graphical host and if using Eclipse IDE
 +
||libsdl1.2-dev xterm
 +
|-
 +
||Documentation
 +
||For building the Yocto Project documentation manuals
 +
||make xsltproc docbook-utils fop dblatex xmlto
 +
|-
 +
||OpenEmbedded Self Test
 +
||Packages needed if you are going to run oe-selftest
 +
||python-git
 +
|}
 +
=== ===
 +
===Yocto Project Set up===
  
See the [[Yocto Project 1.4 - Poky 9.0.y dylan]] article
 
  
[[Category:Software_distributions|Yocto]]
+
==Build Platform Setup Environment==

Revision as of 12:34, 4 May 2018

What is Yocto Project

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:

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

How to build Poky custom Linux distribution

Yocto will be built on a host machine targeting and igep board. It will use Poky software to generate the custom linux distribuion Linux distribution. Before starting with yocto, you need to set up the host machine.

 

Host Setup

Yocto is expecting the host system to have preinstalled packages. Depending on the type of development, the host system will need more or less packages. On Ubuntu / Debian here is a table depending on the type of development.

If you dont know the type of development we recommend you to start with Essential type.

Type of Development Description Package List
Essential For building images on a headless system gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
xz-utils debianutils iputils-ping
Graphical + Eclipse Plugins For building images on a graphical host and if using Eclipse IDE libsdl1.2-dev xterm
Documentation For building the Yocto Project documentation manuals make xsltproc docbook-utils fop dblatex xmlto
OpenEmbedded Self Test Packages needed if you are going to run oe-selftest python-git

 

Yocto Project Set up

Build Platform Setup Environment