LinuxDevices.com Archive Index (1999-2012) | 2013-current at LinuxGizmos.com | About  
Follow LinuxGizmos:
Twitter Google+ Facebook RSS feed

Yocto Project aims to standardize embedded Linux builds

Oct 27, 2010 — by Eric Brown — from the LinuxDevices Archive
Share this: Tweet about this on TwitterGoogle+Share on FacebookShare on LinkedInShare on RedditPin on Pinterest

While announcing its merger with the Consumer Electronics Linux Forum (CELF) today, the Linux Foundation launched an open source build system project called the Yocto Project. Based on the Poky Linux build system, the CELF- and Intel-driven Yocto Project aims to provide open source tools to help companies make custom, Linux-based embedded systems for ARM, MIPS, PowerPC, and x86 architectures.

Today, the Linux Foundation (LF) and its smaller embedded Linux counterpart, CELF, announced they are merging, with CELF becoming a technical workgroup at the LF. As part of the merger, the LF launched a new embedded Linux "Yocto Project."

The open source Yocto Project is launching with version 0.9, offering initial versions of common build tools. Participation in the workgroup is said to be completely open, and the LF is inviting new contributors.

Yocto architecture, showing Poky workflow
(Click to enlarge)

The Yocto Project is named for a prefix in the metric system that denotes a factor of 10 to the negative 24th, and is used to state a subatomic particle's mass. The project is billed as offering a complete embedded Linux development and build environment with tools, metadata, and documentation. The platform includes emulation environments, debuggers, and an SDK generator.

Unlike build systems based on shell scripts or makefiles, the Yocto Project automates the fetching of sources from upstream sources or local project repositories, says the project. Its customization architecture is said to allow the choice of a wide variety of footprint sizes as well as control over the choice or absence of components such as graphics subsystems, visualization middleware, and services.

Yocto is based on the GNOME-derived Poky Linux, a well established platform-independent, cross-compiling build system that uses the same architecture as the OpenEmbedded build system. Poky is now available in a Poky Linux 3.31 release.

In August 2008, Intel, which appears to be the driving force behind Yocto (see farther below), acquired Poky Linux developer OpenedHand, which also maintained the Matchbox and Clutter projects. Matchbox is a lightweight window manager for X11 (X Window), and Clutter is an animation framework.

Intel has continued to support all these open source projects while also integrating the Poky technology and OpenedHand expertise in the Moblin project. Moblin merged with Maemo to form MeeGo, which like the Yocto Project, is overseen by the Linux Foundation.

Much as do Moblin, Maemo, and MeeGo, Poky Linux targets mobile device development and is based on X11, GTK+, Clutter, and Matchbox technologies. However, in place of the Hildon GUI layer, Poky includes a "Sato" application framework and theme.

The Yocto Project current provides pointers to example code built using Poky to create a UPnP Media Network demo application. Community tested images include the Yocto Project kernel. The images span four build profiles (Minimal, Sato, SDK, and LSB) for UPnP development across multiple architectures including ARM, PPC, MIPS, x86, and x86-64.

A standard format for board support package (BSP) layers has been developed, and Yocto is currently configured to run on the following hardware reference platforms:

Yocto Project components can be used to design, develop, build, debug, simulate, and test a complete software stack using Linux, X Window (X11), GNOME Mobile based application frameworks, and Nokia's Qt frameworks, says the project.

Yocto build process

Other available components include Matchbox, GTK+, Pimlico, Clutter, and GuPNP. The project also uses QEMU full system emulation across all supported architectures, as well as specific hardware such as the Intel Desktop Board DH55TC.
 

Yocto workflow and emulation using pre-built image

Application development tools can be generated that can be combined with IDE plug-ins (Eclipse and Anjuta currently) for application development. The Anjuta IDE plugin integrates the functionality of the Yocto SDK Generator and toolchain with the Anjuta IDE, says the project.

Poky's Sato reference user interface (UI) is supplied as well. This optional GNOME Mobile-based UI is intended for devices with restricted screen sizes, says the project.

Yocto: Brought to you by Intel and Wind River

Despite the project's cross-platform support, the Yocto Steering Group is entirely composed of Intel or Wind River employees. In fact, this is the third major Linux Foundation project after Moblin and MeeGo that appears to be driven largely by Intel.

Intel's Richard Purdie is the project architect, and the co-CTOs are Intel's Dick Hohndel and Alex deVries of Wind River, an Intel subsidiary. The technical lead and all the maintainers also derive solely from Intel or Wind River.

Hohndel is Intel's Chief Linux and Open Source Technologist and a former CTO for Novell's SuSE. He directs Intel's Open Source Technology Center, which absorbed the OpenedHand staff, and is a key liaison with projects such as MeeGo.

In a blog, Hohndel says the project was launched due to the lack of a "defacto standard" in embedded build tools. "Hardware vendors seem to all have their own flavor, their own kernel, their own tools, their own build process, their own root file system, all with different bugs and issues and oddities," writes Hohndel. "So embedded developers keep learning slightly different tools and environments, keep fixing the same bugs, keep reinventing the wheel."

With its Intel backing, the Yocto Project appears to be an answer of sorts to the somewhat similar Linaro project announced in June by ARM Holdings and five semiconductor manufacturers. Linaro's goal is to develop standardized, open source Linux tools, kernel, and middleware software for consumer electronics.

However, Linaro is set up as a company, as opposed to a community project, and unlike the cross-platform Yocto Project, is focused solely on ARM platforms. Jointly owned by ARM, Freescale, IBM, Samsung, ST-Ericsson, and Texas Instruments, Linaro will initially support ARM Cortex tools on platforms including Android, LiMo, MeeGo, Ubuntu, and WebOS.

Availability

The Yocto Project may be found here. A helpful FAQ on the Yocto Project may be found here.


This article was originally published on LinuxDevices and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.

(advertise here)


Comments are closed.