The Yocto Project (see Interview: Mike Woster Discusses The Yocto Project) helps developers turn out custom Linux distributions based on common Bitbake recipes. The tools pull from hundreds of open source repositories base on a recipe (Fig.1). The project is designed to unify the underlying Linux support so these custom configurations can be easily ported to any hardware platform.
Mentor Graphics is one of the companies supporting the Yocto Project. It is also delivering products based on the open source technology. I talked with Chris Hallinan, Technical Marketing Engineer for the Embedded Software Division of Mentor Graphics, about Mentor's involvement with the project and how it is affecting the Linux-related products.
- Interview: Mike Woster Discusses The Yocto Project
- Interview: Joel Hoffmann Discusses Infotainment And The GENIVI Alliance
- Interview: Jason Kridner Discusses The BeagleBone Black
Wong: How is Mentor involved in the Yocto Project?
Hallinan: Currently, we are members of both the Linux Foundation (the sponsor organization for the Yocto Project) as well as the Yocto Project itself. Mentor Embedded is also one of the largest commercial contributors to Yocto Project technology contributing features, patches, and bug fixes to various Yocto Project layers and repositories. At the heart of the Yocto Project is a build tool called bitbake, which takes all recipes for all the packages in an embedded Linux distribution and creates the image that runs on a device. Mentor’s involvement with the Yocto Project also includes us acting as one of the primary maintainers of the bitbake technology. We are also active contributors on the Yocto Project Advisory Board and Advocacy Boards.
Wong: Where will a developer see the effects of the Yocto Project in Mentor products?
Hallinan: Mentor Embedded Linux is a Yocto Project Compatible Linux distribution and associated build system. We have registered several Mentor Embedded Linux (Fig. 2) versions as Yocto Project compatible.
To achieve Yocto Project Compatible status, the product must be registered and declared to meet the requirements of the Yocto Project Compatibility program, and approved by the Yocto Project Advisory Board members. This allows an easy transition from a free and unsupported Yocto Project-based BSP to a commercially supported BSP and Linux distribution from Mentor Embedded. A developer could develop a BSP, package recipes, or define a target image for the Yocto Project, and it would translate directly into any commercial distribution that is based on the Yocto Project.
Wong: How does the Yocto Project and Mentor improve the development experience?
Hallinan: The Yocto Project is a collaboration of a diverse group of developers, both individual and corporate-sponsored (silicon vendors, device vendors, operating system vendors, 3rd party software developers, and service providers). As such, a large collection of technology is available under the Yocto Project umbrella. Unfortunately, it’s not always easy or straightforward to integrate multiple sources of technology from a wide variety of sources specifically because in typical open source fashion, these technologies may not be evolving synchronously in time. This creates incompatibilities due to version dependencies between various subsystems and difficulty in porting to a given build environment as every embedded Linux project is unique.
Mentor Embedded brings together many components from the Yocto Project and elsewhere into coherent, functioning reference designs suitable for developers to create unique designs easily with a stable core set of packages. We also provide market-specific layers, such as our Mentor Embedded Automotive Technology Platform (ATP) add-on that integrates specific automotive infotainment packages targeted at automotive Tier 1 suppliers and automotive OEMs looking to rapidly develop and deploy modern in-vehicle infotainment (IVI) systems. Whether developers are working on custom one-off projects, or market-specific designs like automotive head units, they will find that a Yocto-based environment gives them a way to quickly get started on their development work and a choice in moving to commercial support for either the runtime environment or for the tools that provide an integrated SW development, debug, and analysis set of capabilities.
Wong: Are Mentor’s debugging, profiling, and analysis tools compatible with the Yocto Project?
Hallinan: The short answer is yes and no. Most Yocto-based BSPs are capable of taking advantage of Eclipse-based development and debug environments to some extent. All of the architectures and platforms commercially supported in Mentor Embedded Linux integrate runtime components and configurations compatible with Mentor Embedded’s Sourcery CodeBench and Sourcery Analyzer tools. Developers appreciate the heavy lifting of matching and integrating toolchains with specific architectures and platforms. With Mentor Embedded Linux, developers can count on this glue being there which allows them to focus on developing their application or integrating their value-add into the final product. We enable developers to use traditional source level debugging, whether it’s using command line tools such as GDB, or Mentor’s Eclipse-based Sourcery CodeBench Integrated Development Environment. Mentor also integrates the runtime configurations and components necessary to enable rapid profiling and analysis of complex system-level behavior using our Sourcery Analyzer tool.
Wong: What is the value add that Mentor brings to the Yocto Project, or, why should I buy Mentor's products instead of using the free tools from the Yocto Project?
Hallinan: The Yocto Project is an umbrella project consisting of over 100 repositories representing a wide range of technology. Only a small subset of this technology is packaged and released every six months by the Yocto Project, which undergoes some testing and has a reasonable chance of working in a limited environment on which it was targeted. Mentor Embedded Linux is not only based on and compatible with the Yocto Project, but adds significant value to the overall development lifecycle. There are many advantages to using a commercially supported project, but the single largest advantage is that Mentor packages and integrates the Yocto Project technology around a complete development environment and broad product family which allows developers to move more rapidly, with less risk and associated costs. Mentor Embedded Linux is integrated with a commercially supported toolchain and IDE, (Sourcery CodeBench) as well as architecture-optimized runtime library components.
Mentor Embedded Linux integrates the runtime components necessary to perform rapid profiling and analysis of complex multicore embedded systems. Building multicore systems using either SMP or AMP architectures can be accomplished with tested and proven components integrated and supported from a single vendor on the customer’s choice of platform.
Wong: What host and target platforms will Mentor be supporting with this technology?
Hallinan: Mentor Embedded Linux runs on a Linux host or a Linux-based VM on other desktop operating systems including Windows and Apple’s OS X. Target platforms include popular SOCs and platforms across all four major architectures (x86, ARM, Power, and MIPS) and from a variety of board and semiconductor vendors.
Wong: What type of release cycle will Mentor providing developers with respect to the Yocto Project releases?
Hallinan: Mentor Embedded Linux is released on a semi-annual cycle generally corresponding to the Yocto Project releases.
Wong: The Yocto Project targets Linux. Does the technology have any applicability to other operating systems like Nucleus?
Hallinan: At the present time, the underlying build system is largely focused on Linux. However, there is no reason why Nucleus or any other operating system could be built using the Yocto Project infrastructure.