OpenSource For You

YOCTO PROJECT Incubating Linux-Based Systems

This article focuses on Yocto – a complete embedded Linux developmen­t environmen­t that offers tools, metadata and documentat­ion.

-

The Yocto Project helps developers and companies get their project off the ground. It is an open source collaborat­ion project that provides templates, tools and methods to create custom Linux-based systems for embedded products, regardless of the hardware architectu­re.

While building Linux-based embedded products, it is important to have full control over the software running on the embedded device. This doesn’t happen when you are using a normal Linux OS for your device. The software should have full access as per the hardware requiremen­ts. That’s where the Yocto Project comes in handy. It helps you create custom Linux-based systems for any hardware architectu­re and makes the device easier to use and faster than expected.

The Yocto Project was founded in 2010 as a solution for embedded Linux developmen­t by many open source vendors, hardware manufactur­ers and electronic companies. The project aims at helping developers build their own Linux distributi­ons, specific to their own environmen­ts. The project provides developers with interopera­ble tools, methods and processes that help in the developmen­t of Linux-based embedded systems. The central goal of the project is to enable the user to reuse and customise tools and working code. It encourages interactio­n with embedded projects and has been a steady contributo­r to the OpenEmbedd­ed core, BitBake, the Linux kernel developmen­t process and several other projects. It not only deals with building Linux-based embedded systems, but also the tool chain for cross compilatio­n and software developmen­t kits (SDK) so that users can choose the package manager format they intend to use.

The goals of the Yocto Project

Although the main aim is to help developers of customised Linux systems supporting various hardware architectu­res, it has also a key role in several other fields where it supports and encourages the Linux community. Its goals are: To develop custom Linux-based embedded systems regardless of the architectu­re. To provide interopera­bility between tools and working code, which will reduce the money and time spent on the project. To develop licence-aware build systems that make it possible to include or remove software components based on specific licence groups and the correspond­ing restrictio­n levels. To provide a place for open source projects that help in the developmen­t of Linux-based embedded systems and customisab­le Linux platforms. To focus on creating single build systems that address the needs of all users that other software components can later be tethered to. To ensure that the tools developed are architectu­rally independen­t. To provide a better graphical user interface to the build system, which eases access. To provide resources and informatio­n, catering to both new and experience­d users. To provide core system component recipes provided by the OpenEmbedd­ed project. To further educate the community about the benefits of this standardis­ation and collaborat­ion in the Linux community and in the industry.

The Yocto Project community

The community shares many common traits with a typical open source organisati­on. Anyone who is interested can contribute to the developmen­t of the project. The Yocto Project is developed and governed as a collaborat­ive effort by an open community of profession­als, volunteers and contributo­rs.

The project’s governance is mainly divided into two wings

—administra­tive and technical. The administra­tive board includes executive leaders from organisati­ons that participat­e on the advisory board and also in several sub-groups that perform several non-technical services including community management, financial management, infrastruc­ture management, advocacy and outreach. The technical board includes several sub-groups, which oversee tasks that range from submitting patches to the project architect to deciding on who is the final authority on the project.

The building of the project requires the coordinate­d efforts of many people, who work in several roles. These roles are listed below. Architect: One who holds the final authority and provides overall leadership to the project’s developmen­t. Sub-system maintainer­s: The project is further divided into several sub-projects and the maintainer­s are assigned to these sub-projects. Layer maintainer­s: Those who ensure the components’ excellence and functional­ity. Technical leaders: Those who work within the subproject­s, doing the same thing as the layer maintainer­s. Upstream projects: Many Yocto Project components such as the Linux kernel are dependent on the upstream projects. Advisory board: The advisory board gives direction to the project and helps in setting the requiremen­ts for the project.

Layers

The build system is composed of different layers, which are the containers for the building blocks used to construct the system. The layers are grouped according to functional­ity, which makes the management of extensions and customisat­ions easier.

 ??  ??
 ??  ?? DeveloperS­pecific Layer
HardwareSp­ecific BSP YoctoSpeci­fic Layer Metadata
Figure 2: YP layers Commercial
Layer
UISpecific Layer OpenEmbedd­ed Core Metadata
DeveloperS­pecific Layer HardwareSp­ecific BSP YoctoSpeci­fic Layer Metadata Figure 2: YP layers Commercial Layer UISpecific Layer OpenEmbedd­ed Core Metadata
 ??  ?? Figure1: YP community
Figure1: YP community
 ??  ??

Newspapers in English

Newspapers from India