Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

How to use the Yocto Project to develop Embedded Linux

27,979 bytes added, 09:59, 20 July 2018
no edit summary
= How to use the Yocto Project to develop Embedded Linux =[[File:yocto-project-transp.png|right|409x155px]]
=='''What is the 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 [http://www.angstrom-distribution.org/ Angstrom Distribution ] is declared as a [https://www.yoctoproject.org/organization/angstrom-distribution 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=='''Why use the Yocto Project™'''==Because it's a complete embedded Linux development environment with tools, metadata, and documentation -To is meant 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 a starting point for people carried forward over time without causing you to learn build lose optimizations and run investments made during the project’s prototype phase. The Yocto-based images for IGEP Technology devices as quickly Project fosters community adoption of this open source technology allowing its users to focus on their specific product features and easily as possible. development
== 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 ==
=='''How to build Poky custom Poky Linux distribution'''== Yocto Project 1will be built on a host machine targeting and igep board.2 - It will use Poky 7software to generate the custom linux distribution Linux distribution.0Before starting with yocto, you need to set up the host machine.y "Denzil" ===
The Yocto Project 1.2 series are supported by IGEP PROCESSOR BOARDS based on:
<gallery heights="100px">
File:omap3.png
</gallery>
See ==='''Host Setup'''===Yocto is expecting the [[Yocto Project 1host system to have preinstalled packages.2 - Poky 7Depending on the type of development, the host system will need more or less packages.0On Ubuntu / Debian here is a table depending on the type of development.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:{{Message/Information Message|title=TITLE|message=If you don't know what type of development  it suits better to your needs we recommend you to start with Essential type }}
<gallery heights="100px">
File:am335x.png
</gallery>
See the [[Yocto Project 1.4 - Poky 9.0.y dylan]] article
{| class== Create your own Linux image =="contenttable sortable"|-!|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|}
TODOIf your build system has the '''oss4-dev''' package installed, you might experience QEMU build failures due to the package installing its own custom /usr/include/linux/soundcard.h on the Debian system. If you run into this situation, either of the following solutions exist:
sudo apt-get build-dep qemu<br data-attributes="%20/">sudo apt-get remove oss4-dev= =='''Yocto 1.2 Project Setup''denzil' documentation == =In order to create a custom linux distribution; we will download the yocto project.
'''Official documentation''' git clone <a href="git://git.yoctoproject.org/poky" rel="nofollow">git://git.yoctoproject.org/poky</a>Enter poky folder.
* [http://www.yoctoproject.org/docs/1.2/yocto-project-qs/yocto-project-qs.html Yocto Project Quick Start]: This short document lets you get started with the Yocto Project quickly and start building an image. cd poky* [http://www.yoctoproject.org/docs/1.2/adt-manual/adt-manual.html The Yocto Project Application Development Toolkit (ADT) User's Guide]: This manual provides information that lets you get going with the ADT Switch to develop projects using the Yocto Project.* [http://www.yoctoproject.org/docs/1.2/bsp-guide/bsp-guidepyro branch.html The Yocto Project Board Support Package (BSP) Developer's Guide]: This brief document defines a structure for BSP components. Having a commonly understood layout encourages standardization.* [http://www.yoctoproject.org/docs/1.2/dev-manual/dev-manual.html The Yocto Project Development Manual]: This Manual provides an overview of the development process for images and user-space applications.* [http://www.yoctoproject.org/docs/1.2/poky-ref-manual/poky-ref-manual.html The Yocto Project Reference Manual]: This manual is the complete reference guide to the Yocto Project, including the Poky reference system which contains a worki
== Notes == git checkout pyroDownload meta-openembedded layer and switch to pyro branch.
=== Ubuntu 13 git clone https://github.com/openembedded/meta-openembedded.git -b pyroDownload meta-qt5 layer and switch to pyro branch.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 [http git clone https://www.yoctoprojectgithub.orgcom/docsqt/1qt5.4.2/refgit -manual/refb pyroDownload meta-manual.html#detailed-supported-distros yocto validated distributions from yoctoproyect.org])isee layer and switch to pyro branch.
Although denzil branch is not validated for "Ubuntu 13 git clone git@git.04" we have successfully build denzil images with this distribution, see notes belowisee.biz:poky-yocto/meta-isee.git -b pyroSource the environment using:
Note 1: If you get the following error, or similar: source oe-init-build-envYou should be now inside poky/build folder.
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:Add all the layers into build/conf/git.yoctoprojectbblayers.org/prelink-crossconf.git could not be run:
Remove BBLAYERS ?= " \<br data-attributes="%20/"> /home/isee/yocto-project/meta \<br data-attributes="%20/"> /home/isee/yocto-project/meta-poky \<br data-attributes="%20/"> /home/isee/yocto-project/meta-yocto-bsp \<br data-attributes="%20/"> /home/isee/yocto-project/meta-openembedded/meta-oe \<br data-attributes="%20/"> /home/isee/yocto-project/meta-openembedded/meta-multimedia \<br data-attributes="%20/"> /home/isee/yocto-project/meta-openembedded/meta-python \<br data-attributes="%20/"> /home/isee/yocto-project/meta-openembedded/meta-networking \<br data-attributes="%20/"> /home/isee/yocto-project/meta-openembedded/meta-ruby \<br data-attributes="%20/"> /home/isee/yocto-project/meta-qt5 \<br data-attributes="%20/"> /home/isee/yocto-project/meta-isee \<br data-attributes="%20/"> "from poky/build folder Create your own custom Linux distribution with the local build of git-nativefollowing command.
MACHINE=machine-name DISTRO=distro-name bitbake gitigep-minimal-native imageThe following table provides you the information about the commercial names of igep product and the MACHINE= machine-c cleanallname you need to select when creating the Linux distribution using Yocto.
{| class="contenttable sortable"|- style="height: 22px;"! style="height: 22px;"|Commercial Name! style="height: 22px;"|machine-name|- style="height: 22px;"| style="height: 22px;"| | style="height: 22px;"|igep0002|- style="height: 22px;"| style="height: 22px;"| | style="height: 22px;"|igep0010|- style="height: 22px;"| style="height: 22px;"|IGEPv2| style="height: 22px;"|igep0020|- style="height: 22px;"| style="height: 22px;"|IGEP COM MODULE| style="height: 22px;"|igep0030|- style="height: 22px;"| style="height: 22px;"|IGEP COM AQUILA AM335x| style="height: 22px;"|igep0033|- style="height: 22px;"| style="height: 22px;"|IGEP SMARC AM335x| style="height: 22px;"|igep0034|- style="height: 22px;"| style="height: 22px;"|IGEP SMARC AM3352| style="height: 22px;"|igep0035|- style="height: 22px;"| style="height: 22px;"|IGEPx6| style="height: 22px;"|igep0036|- style="height: 22px;"| style="height: 22px;"|IGEP SMARC (Marvell PXA212)| style="height: 22px;"|igep0040|- style="height: 22px;"| style="height: 22px;"|IGEP SMARC (Zynq)| style="height: 22px;"|igep0045|- style="height: 22px;"| style="height: 22px;"|IGEP SMARC i.MX6 (Solo)| style="height: 22px;"|igep0046sx|- style="height: 22px;"| style="height: 22px;"|IGEP SMARC i.MX6 (Dual Lite)| style="height: 22px;"|igep0046dl|- style="height: 22px;"| style="height: 22px;"|IGEP SMARC i.MX6 (Quad)| style="height: 22px;"|igep0046q|- style="height: 22px;"| style="height: 22px;"|IGEPv5| style="height: 22px;"|igep0050|- style="height: 22px;"| style="height: 22px;"|IGEPv5 SMARC| style="height: 22px;"|igep0055|- style="height: 22px;"| style="height: 22px;"| | style="height: 22px;"|igep0057|- style="height: 22px;"| style="height: 22px;"|IGEP SMARC i.MX8| style="height: 22px;"|igep0060|- style="height: 22px;"| style="height: 22px;"|IGEP SMARC i.MX6 (Ultra Lite)| style="height: 22px;"|igep0146|-||||sopa0000|}The following table provides you the information about the different igep distributions. It is provided the DISTRO=distro-name and assume as provided adding the following line to conf/localdescription of it.conf
ASSUME_PROVIDED +{| class= "gitcontenttable sortable"|-!|distro-name!|Description|-||isee-release||Rootfs with sysV suite and x11|-||isee-release-native"no-x11||Rootfs with sysV suite and without x11|-||isee-systemd||Rootfs with systemd suite and x11|-||isee-systemd-no-x11||Rootfs with systemd suite and without x11|}As a final example using this command
Note 2: If you get the following error MACHINE=igep0034 DISTRO=isee-release-no-x11 bitbake igep-minimal-imageProduces a minimal rootfs (sysV suite, or similar:withuot X11), u-boot, Kernel image and DTB for ISEE AM335x products.
INSTALL net/netfilter/xt_policy.ko==='''Types of custom Poky Linux Distributions'''=== | MKDIR .../tmp/work/igep00x0Meta-isee is the layer that provides you the support to build your own custom poky-linux-gnueabi/linux-igep-2distribution.6.37-r6/image/lib/firmware/edgeport/ | make[1]: *** No rule In fact it provides you a set of predefined images that will build some components, like focusing on building the minimal set of components required to make target `.../boot an igep board or building more complicated distributions with X support or even build an image/lib/firmware/./', needed by `with a Sato or LXDE Desktop.../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 following table explains the local build types of make-nativeimages, the description and the approximated size to give you a hint of what you are building.
bitbake make-native -c cleanall
and assume as provided adding the following line to conf{{Message/localInformation Message|title=TITLE|message= <span style="color: #ff0000;">When you are bitbaking an image with X support  you '''MUST''' set DISTRO=distro-name compatible with X environment.conf</span>}}
ASSUME_PROVIDED += "make-native"
= See also =
== External links ==
*[http://www.angstrom-distribution.org/building-angstrom Building Ångström]
*[http://www.openembedded.org/wiki/Getting_started Openembedded Getting started]
{| class="contenttable sortable" style= Others IGEP wiki articles "width: 890px;"|-! style="width: 139.383px;"|Image Name! style="width: 596.617px;"|Description! style="width: 124px;"|Aproximated Size|-| style="width: 139.383px;"|igep-mrskeltal-image| style="width: 596.617px;"|Only the bare minimum required for a board to boot. This means you will only find poky minimal set of rootfs and kernel modules.| style="width: 124px;"| |-| style="width: 139.383px;"|igep-minimal-image*[[How | style="width: 596.617px;"|The minimum required for a board to get the Ubuntu distribution]] boot plus set of configured tools and utilities aplications to provide user easy access to board capabilities.| style="width: 124px;"| |-| style="width: 139.383px;"|igep-basic-image| style="width: 596.617px;"|Based on igep-minimal-image plus Qt5 framework (demos included), Gstreamer1.0, and Pulseaudio.| style="width: 124px;"| |-| style="width: 139.383px;"|igep-basicX-image| style="width: 596.617px;"|Based on igep-minimal-image plus X environment.| style="width: 124px;"| |-| style="width: 139.383px;"|igep-full-image| style="width: 596.617px;"|Based on igep-basic-image and igep-basicX-image. Provides Qt5 framework (demos included), Gstreamer1.0, Pulseaudio, and X environment.| style="width: 124px;"| |-| style="width: 139.383px;"|igep-sato-image| style="width: 596.617px;"|Based on igep-full-image plus a Sato Desktop.| style="width: 124px;"| |-| style="width: 139.383px;"|igep-lxde-image| style="width: 596.617px;"|Based on igep-full-image plus LXDE Desktop| style="width: 124px;"| |-| style="width: 139.383px;"|igep-custom-image*[[How | style="width: 596.617px;"|An empty template image based on igep-mrskeltal-image for users to add anything required to get the Linaro distribution]] fill their needs*[[How | style="width: 124px;"|20MB to get the Android distribution]] X MB|}
==='''Availability Chart'''===Not all images are compatibles with all the igep machine product. Here is the compatibility chart to guide you what you can/can't build depending on your igep board. {| class="contenttable sortable"|- style="height: 22px;"! style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|IGEP PRODUCT! style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;" colspan="8"|Image Key Name|- style="height: 22px;"! style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|machine-name! style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|mrskeltal! style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|minimal! style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|basic! style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|basicX! style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|full! style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|sato! style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|lxde! style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|custom|- style="height: 22px;"| style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|igep0002| style="border-color: #000000; background-color: #fc3f3f; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; height: 22px; background-color: #fc3f3f; text-align: center; vertical-align: middle;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| |- style="height: 22px;"| style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|igep0010| style="border-color: #000000; background-color: #fc3f3f; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; height: 22px; background-color: #fc3f3f; text-align: center; vertical-align: middle;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| |- style="height: 22px;"| style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|igep0020| style="border-color: #000000; background-color: #82fa58; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; height: 22px; background-color: #82fa58; text-align: center; vertical-align: middle;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| |- style="height: 22px;"| style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|igep0030| style="border-color: #000000; background-color: #82fa58; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; height: 22px; background-color: #82fa58; text-align: center; vertical-align: middle;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| |- style="height: 22px;"| style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|igep0032| style="border-color: #000000; background-color: #82fa58; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; height: 22px; background-color: #82fa58; text-align: center; vertical-align: middle;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| |- style="height: 22px;"| style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|igep0033| style="border-color: #000000; background-color: #82fa58; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; height: 22px; background-color: #82fa58; text-align: center; vertical-align: middle;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| |- style="height: 22px;"| style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|igep0034| style="border-color: #000000; background-color: #82fa58; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; height: 22px; background-color: #82fa58; text-align: center; vertical-align: middle;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| |- style="height: 22px;"| style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|igep0035| style="border-color: #000000; background-color: #fc3f3f; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; height: 22px; background-color: #fc3f3f; text-align: center; vertical-align: middle;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| |- style="height: 22px;"| style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|igep0036| style="border-color: #000000; background-color: #fc3f3f; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; height: 22px; background-color: #fc3f3f; text-align: center; vertical-align: middle;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| |- style="height: 22px;"| style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|igep0040| style="border-color: #000000; background-color: #fc3f3f; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; height: 22px; background-color: #fc3f3f; text-align: center; vertical-align: middle;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| |- style="height: 22px;"| style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|igep0045| style="border-color: #000000; background-color: #fc3f3f; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; height: 22px; background-color: #fc3f3f; text-align: center; vertical-align: middle;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| |- style="height: 22px;"| style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|igep0046sx| style="border-color: #000000; background-color: #fc3f3f; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; height: 22px; background-color: #fc3f3f; text-align: center; vertical-align: middle;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| |- style="height: 22px;"| style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|igep0046dl| style="border-color: #000000; background-color: #82fa58; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; height: 22px; background-color: #82fa58; text-align: center; vertical-align: middle;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| |- style="height: 22px;"| style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|igep0046q| style="border-color: #000000; background-color: #82fa58; text-align: center; vertical-align: middle;"| | style="border-color: #000000; height: 22px; background-color: #82fa58; text-align: center; vertical-align: middle;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| |- style="height: 22px;"| style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|igep0050| style="border-color: #000000; background-color: #fc3f3f; height: 22px; text-align: center; vertical-align: middle;"| | style="border-color: #000000; height: 22px; background-color: #fc3f3f; text-align: center; vertical-align: middle;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| |- style="height: 22px;"| style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|igep0055| style="border-color: #000000; background-color: #fc3f3f; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; height: 22px; background-color: #fc3f3f; text-align: center; vertical-align: middle;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| |- style="height: 22px;"| style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|igep0057| style="border-color: #000000; background-color: #fc3f3f; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; height: 22px; background-color: #fc3f3f; text-align: center; vertical-align: middle;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| |- style="height: 3px;"| style="border-color: #000000; text-align: center; vertical-align: middle; height: 3px;"|igep0060| style="border-color: #000000; background-color: #fc3f3f; text-align: center; vertical-align: middle; height: 3px;"| | style="border-color: #000000; height: 3px; background-color: #fc3f3f; text-align: center; vertical-align: middle;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 3px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 3px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 3px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 3px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 3px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 3px;"| |- style="height: 22px;"| style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|igep0146| style="border-color: #000000; background-color: #82fa58; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; height: 22px; background-color: #82fa58; text-align: center; vertical-align: middle;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| |- style="height: 22px;"| style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"|sopa0000| style="border-color: #000000; background-color: #82fa58; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; height: 22px; background-color: #82fa58; text-align: center; vertical-align: middle;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| | style="border-color: #000000; text-align: center; vertical-align: middle; height: 22px;"| |}  =='''How to develop with Yocto Project SDK'''==In order for developers to use Yocto Project SDK, Yocto Project must be set up, all needed meta-layers downloaded and configured in bblayers.conf. Also target image should be built correctly.   ==='''What is Yocto Project SDK'''===Yocto Project offers a set of tools for developers to create applications (that will run in Yocto created Linux Distributions ) from powerful Host machines. This is also called cross compiling. Yocto Project SDK allows developers to cross compile, debug, and test applications. In fact Yocto Project SDK provides: <div class="itemizedlist">* <span class="emphasis">''Cross-Development Toolchain''</span>: This toolchain contains a compiler, debugger, and various miscellaneous tools.* <span class="emphasis">''Libraries, Headers, and Symbols''</span>: The libraries, headers, and symbols are specific to the image (i.e. they match the image).* <span class="emphasis">''Environment Setup Script''</span>: This <code class="filename">*.sh</code> file, once run, sets up the cross-development environment by defining variables and preparing for SDK use. The SDK is installed on any machine and can be used to develop applications, images, and kernels. An SDK can even be used by a QA Engineer or Release Engineer. The fundamental concept is that the machine that has the SDK installed does not have to be associated with the machine that has the Yocto Project installed. [[CategoryFile:Software_distributionssdk-environment.png|Yoctocenter|869x429px|border]] A developer can independently compile and test an object on their machine and then, when the object is ready for integration into an image, they can simply make it available to the machine that has the Yocto Project. Once the object is available, the image can be rebuilt using the Yocto Project to produce the modified image.   ==='''Why use Yocto Project SDK'''===</div>Normally Target systems specifications are quite restricted, specifically in embedded target systems. It is convenient for the developer, in order to save time, to develop, compile and test their applications on their host platform which is usually a powerful machine. This is the basic of the cross compiling process. Later an emulator is used to test the application.   ==='''How to build ISEE Yocto Project SDK'''===Developers can build ISEE Yocto Project SDK in order to use it at their convenience. First of all a SDK installed will be produced and then developers will user the SDK installer in their Host machines to install all ISEE Yocto Project SDK components. To produce the SDK installer run this command after sourcing Yocto environment (source oe-init-build-env).  bitbake -c populate_sdk igep-image-nameIt is also posible to build an extensible SDK with  bitbake -c populate_sdk_ext igep-image-nameThe resulting SDK installer script can be found in yocto project build folder ./tmp/deploy/sdk/*.sh ==='''How to use ISEE Yocto Project SDK'''===In order to use the ISEE Yocto Project SDK first of all the Installer script must be run in the Host machine where it is intended to develop the software:  ./isee-release-no-x11-glibc-x86_64-igep-basic-image-cortexa9hf-neon-toolchain-2.3.3.shOnce it is installed the environment must be set up with the source script in  After the environment is set up developers can already compile and debug aplications. It can also be used qemu emulator available in  folder to emulate target applications.