Yocto

From Gentoo Wiki
Jump to: navigation, search
Resources

The Yocto Project is a Linux Foundation workgroup whose goal is to produce tools and processes that will enable the creation of Linux distributions for embedded software that are independent of the underlying architecture of the embedded software itself. The project was announced by the Linux Foundation in 2010. Yocto Project Aligns Technology with OpenEmbedded and Gains Corporate Collaborators. In March 2011, the project aligned itself with OpenEmbedded, an existing framework with similar goals, with the result being The OpenEmbedded-Core Project.

The Yocto Project is an open source project whose focus is on improving the software development process for embedded Linux distributions. The Yocto Project provides interoperable tools, metadata, and processes that enable the rapid, repeatable development of Linux-based embedded systems.[1]

Gentoo is not officially supported by the Yocto / OpenEmbedded project.

user $bitbake
bitbake [...]
WARNING: Host distribution "Gentoo" 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.

Installation

Emerge

root #emerge --ask --verbose dev-vcs/git dev-util/diffstat app-arch/unzip sys-apps/texinfo app-admin/chrpath media-libs/libsdl2 sys-apps/iproute2 x11-terms/xterm net-nds/rpcbind

Install QEMU

See QEMU.

Install Python 2.7

See python 2.7 (forums.gentoo.org)

user $eselect python set python2.7
eselect python list
Available Python interpreters:
  [1]   python2.7 *
  [2]   python3.2
  [3]   python3.3

python
Python 2.7.5 (default, Oct 19 2013, 22:52:27)

Install pysqlite

root #pip install pysqlite

Optional make

1. Yocto needs make-3.82. Optional if yocto complains:

user $
WARNING: Host distribution "Gentoo" 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.
 ERROR:  OE-core's config sanity checker detected a potential misconfiguration.
     Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
     Following is the list of potential problems / advisories:
 
     Your version of make 3.82 is broken. Please revert to 3.81 or install a patched version.
 
 ERROR: Execution of event handler 'check_sanity_eventhandler' failed
 ERROR: Command execution failed: Exited with 1
FILE /etc/portage/package.accept_keywords
>=sys-devel/make-3.82

2. There might be problems with some custom metas and eglibc/2.18-r0/eglibc-2.18 (shlib.lds:150: syntax error).

Try to install a higher make version for me it worked with make-4.0:

FILE /etc/portage/package.mask
<sys-devel/make-4.0
<sys-apps/gawk-4.0

Add sudo to user

root #groupadd sudo
root #usermod -a -G sudo user
root #su - -c "echo '%sudo ALL=(ALL) ALL' > /etc/sudoers.d/yocto"

Test installation

Yocto Project Quick Start

user $git clone -b dora git://git.yoctoproject.org/poky.git
user $cd poky
user $source oe-init-build-env
user $bitbake -k core-image-minimal

Yocto Project Application Developer's Guide

user $git clone -b dora git://git.yoctoproject.org/poky.git
user $cd poky
user $source oe-init-build-env
user $bitbake meta-ide-support
user $bitbake -k core-image-sato-sdk
user $runqemu-extract-sdk [...]

External resources

References