Difference between revisions of "Yocto Project 1.2 - Poky 7.0.y denzil"
From IGEP - ISEE Wiki
m (→Build Platform Setup Environment) |
m (→Build Platform Setup Environment) |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | = Introduction = | + | = Introduction = |
− | This article is for '''Yocto Project 1.2 - Poky 7.0.y denzil''' branch.<br> | + | This article is for '''Yocto Project 1.2 - Poky 7.0.y denzil''' branch.<br> It is interesting read [[How to use the Yocto Project to develop Embedded Linux]] article previously.<br> |
− | It is interesting read [[How to use the Yocto Project to develop Embedded Linux]] article previously.<br> | ||
− | = Build Platform Setup Environment = | + | = Build Platform Setup Environment = |
− | {{Message/Information Message|message= '''The instructions below are only for IGEP PROCESSOR BOARDS based on OMAP3 processor.'''}} | + | {{Message/Information Message|message= '''The instructions below are only for IGEP PROCESSOR BOARDS based on OMAP3 processor.'''}} |
− | In order to build an image with BSP support for a given release, you need to download the corresponding BSP repository. <br> | + | In order to build an image with BSP support for a given release, you need to download the corresponding BSP repository. <br> At this time latest stable branch for IGEP devices is [http://git.isee.biz/?p=pub/scm/poky.git;a=shortlog;h=refs/heads/denzil denzil]. |
− | At this time latest stable branch for IGEP devices is [http://git.isee.biz/?p=pub/scm/poky.git;a=shortlog;h=refs/heads/denzil denzil]. | ||
− | + | <pre>git clone -b denzil git://git.isee.biz/pub/scm/poky.git</pre> | |
Enter to the poky directory, | Enter to the poky directory, | ||
− | + | <pre>cd poky</pre> | |
and clone the [http://git.isee.biz/?p=pub/scm/meta-isee.git;a=shortlog;h=refs/heads/denzil meta-isee] layer. | and clone the [http://git.isee.biz/?p=pub/scm/meta-isee.git;a=shortlog;h=refs/heads/denzil meta-isee] layer. | ||
− | + | <pre>git clone -b denzil git://git.isee.biz/pub/scm/meta-isee.git</pre> | |
− | + | <pre>source oe-init-build-env</pre> | |
Having done that, and assuming you downloaded the BSP contents at the top-level of your yocto build tree, you can build a igep image by adding the location of the 'meta-isee' layer to 'bblayers.conf' | Having done that, and assuming you downloaded the BSP contents at the top-level of your yocto build tree, you can build a igep image by adding the location of the 'meta-isee' layer to 'bblayers.conf' | ||
Line 35: | Line 33: | ||
You should then be able to build a image as such: | You should then be able to build a image as such: | ||
− | + | <pre>bitbake demo-image-sato</pre> | |
− | At the end of a successful build, you should have an image that you could use for boot device from flash or a micro-SD card | + | At the end of a successful build, you should have an image that you could use for boot device from flash or a micro-SD card or you can create the installable firmware using: |
− | + | <pre> bitbake do-release-firmware </pre> | |
− | = Extending the available packages with others layers = | + | = Extending the available packages with others layers = |
− | You can append more layers to your environment in order to build more packages, in following wxample you'll download the meta-openembedded layer. In your poky directory | + | You can append more layers to your environment in order to build more packages, in following wxample you'll download the meta-openembedded layer. In your poky directory |
− | + | <pre>git clone -b denzil git://git.openembedded.org/meta-openembedded</pre> | |
Add the layer into build/conf/bblayers.conf: | Add the layer into build/conf/bblayers.conf: | ||
Line 51: | Line 49: | ||
<path to>/poky/meta-openembedded/meta-oe \ | <path to>/poky/meta-openembedded/meta-oe \ | ||
− | Now you can build any of the new packages added, for example: | + | Now you can build any of the new packages added, for example: |
− | + | <pre>bitbake postgresql</pre> | |
− | = Create your own Linux image = | + | = Create your own Linux image = |
− | To learn how to customize Yocto Project images to satisfy particular requirements. Read the Yocto documentation written for that purpose: | + | To learn how to customize Yocto Project images to satisfy particular requirements. Read the Yocto documentation written for that purpose: |
− | * http://www.yoctoproject.org/docs/1.2/dev-manual/dev-manual.html#usingpoky-extend-customimage | + | *http://www.yoctoproject.org/docs/1.2/dev-manual/dev-manual.html#usingpoky-extend-customimage |
− | = Working Within Eclipse = | + | = Working Within Eclipse = |
− | To learn how to use Eclipse IDE Yocto Plug-in to develop your Yocto Project. Read the Yocto documentation written for that purpose: | + | To learn how to use Eclipse IDE Yocto Plug-in to develop your Yocto Project. Read the Yocto documentation written for that purpose: |
− | * http://www.yoctoproject.org/docs/1.2/adt-manual/adt-manual.html#adt-eclipse | + | *http://www.yoctoproject.org/docs/1.2/adt-manual/adt-manual.html#adt-eclipse |
− | = Yocto 1.2 'denzil' documentation = | + | = Yocto 1.2 'denzil' documentation = |
− | '''Official documentation''' | + | '''Official documentation''' |
− | * [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. | + | *[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. |
− | * [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 to develop projects using the Yocto Project. | + | *[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 to develop projects using the Yocto Project. |
− | * [http://www.yoctoproject.org/docs/1.2/bsp-guide/bsp-guide.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/bsp-guide/bsp-guide.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/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 | + | *[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 = | + | = Notes = |
− | == Ubuntu | + | == Ubuntu 12.04 LTS == |
− | + | ISEE Tech uses this host distribution in order to build oficial IGEP Firmware | |
− | + | So, you could install ubuntu distro in your personal computer and then you could install development packages (see [http://www.yoctoproject.org/docs/1.4.2/ref-manual/ref-manual.html#required-packages-for-the-host-development-system yocto documentation])<br> | |
+ | <pre>sudo apt-get install sed wget subversion git-core coreutils \ | ||
+ | unzip texi2html texinfo libsdl1.2-dev docbook-utils fop gawk \ | ||
+ | python-pysqlite2 diffstat make gcc build-essential xsltproc \ | ||
+ | g++ desktop-file-utils chrpath libgl1-mesa-dev libglu1-mesa-dev \ | ||
+ | autoconf automake groff libtool xterm libxml-parser-perl | ||
+ | </pre> | ||
+ | After, you could follow above steps on this article | ||
− | Note 1: If you get the following error, or similar: | + | == 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 [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: | ||
+ | |||
+ | Note 1: If you get the following error, or similar: | ||
NOTE: package prelink-native-1.0+git1+7b47f2f8a15ed13b7905bc120bb2586f3e164f7d-r9: task do_fetch: Started | NOTE: package prelink-native-1.0+git1+7b47f2f8a15ed13b7905bc120bb2586f3e164f7d-r9: task do_fetch: Started | ||
Line 91: | Line 102: | ||
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: | 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 | + | Remove the local build of git-native |
− | + | <pre>bitbake git-native -c cleanall</pre> | |
− | and assume as provided adding the following line to conf/local.conf | + | and assume as provided adding the following line to conf/local.conf |
ASSUME_PROVIDED += "git-native" | ASSUME_PROVIDED += "git-native" | ||
− | Note 2: If you get the following error, or similar: | + | Note 2: If you get the following error, or similar: |
INSTALL net/netfilter/xt_policy.ko | INSTALL net/netfilter/xt_policy.ko | ||
Line 109: | Line 120: | ||
NOTE: package linux-igep-2.6.37-r6: task do_install: Failed | NOTE: package linux-igep-2.6.37-r6: task do_install: Failed | ||
− | Remove the local build of make-native | + | Remove the local build of make-native |
− | + | <pre>bitbake make-native -c cleanall</pre> | |
− | and assume as provided adding the following line to conf/local.conf | + | and assume as provided adding the following line to conf/local.conf |
ASSUME_PROVIDED += "make-native" | ASSUME_PROVIDED += "make-native" | ||
[[Category:Software_distributions|Yocto]] | [[Category:Software_distributions|Yocto]] |
Latest revision as of 09:49, 15 October 2015
Contents
Introduction
This article is for Yocto Project 1.2 - Poky 7.0.y denzil branch.
It is interesting read How to use the Yocto Project to develop Embedded Linux article previously.
Build Platform Setup Environment
The instructions below are only for IGEP PROCESSOR BOARDS based on OMAP3 processor. |
In order to build an image with BSP support for a given release, you need to download the corresponding BSP repository.
At this time latest stable branch for IGEP devices is denzil.
git clone -b denzil git://git.isee.biz/pub/scm/poky.git
Enter to the poky directory,
cd poky
and clone the meta-isee layer.
git clone -b denzil git://git.isee.biz/pub/scm/meta-isee.git
source oe-init-build-env
Having done that, and assuming you downloaded the BSP contents at the top-level of your yocto build tree, you can build a igep image by adding the location of the 'meta-isee' layer to 'bblayers.conf'
Add below line into .../poky/build/conf/bblayers.conf:
<path to>/poky/meta-isee \
To enable the isee layer, add the 'igep00x0 MACHINE' to .../poky/build/conf/local.conf:
MACHINE ?= "igep00x0"
You should then be able to build a image as such:
bitbake demo-image-sato
At the end of a successful build, you should have an image that you could use for boot device from flash or a micro-SD card or you can create the installable firmware using:
bitbake do-release-firmware
Extending the available packages with others layers
You can append more layers to your environment in order to build more packages, in following wxample you'll download the meta-openembedded layer. In your poky directory
git clone -b denzil git://git.openembedded.org/meta-openembedded
Add the layer into build/conf/bblayers.conf:
<path to>/poky/meta-openembedded/meta-oe \
Now you can build any of the new packages added, for example:
bitbake postgresql
Create your own Linux image
To learn how to customize Yocto Project images to satisfy particular requirements. Read the Yocto documentation written for that purpose:
Working Within Eclipse
To learn how to use Eclipse IDE Yocto Plug-in to develop your Yocto Project. Read the Yocto documentation written for that purpose:
Yocto 1.2 'denzil' documentation
Official documentation
- Yocto Project Quick Start: This short document lets you get started with the Yocto Project quickly and start building an image.
- The Yocto Project Application Development Toolkit (ADT) User's Guide: This manual provides information that lets you get going with the ADT to develop projects using the Yocto Project.
- 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.
- The Yocto Project Development Manual: This Manual provides an overview of the development process for images and user-space applications.
- 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
Ubuntu 12.04 LTS
ISEE Tech uses this host distribution in order to build oficial IGEP Firmware
So, you could install ubuntu distro in your personal computer and then you could install development packages (see yocto documentation)
sudo apt-get install sed wget subversion git-core coreutils \ unzip texi2html texinfo libsdl1.2-dev docbook-utils fop gawk \ python-pysqlite2 diffstat make gcc build-essential xsltproc \ g++ desktop-file-utils chrpath libgl1-mesa-dev libglu1-mesa-dev \ autoconf automake groff libtool xterm libxml-parser-perl
After, you could follow above steps on this article
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"