Yocto Project Enables Custom Content, Open Source Collaboration
July 30, 2020
Blog
The Yocto Project, a collaboration under the auspicies of the Linux Foundation, is an open-source distribution that gives developers the ability to collaborate on projects involving embedded devices.
The Yocto Project, a collaboration under the auspicies of the Linux Foundation, is an open-source distribution that gives developers the ability to collaborate on projects involving embedded devices. The project provides a space to create custom Linux-based systems by offering the tools and support needed to create and develop any embedded device, regardless of architecture.
With a constant spin of embedded devices, and with hardware increasingly becoming commoditized, software becomes the key differentiator in an embedded or IoT system build. Developers aim to enable software systems that run quickly and efficiently, and silicon suppliers such as Intel and NXP are releasing their open source repositories to Yocto as a way to achieve this, while also promoting customization by end users.
The Yocto Project enables numerous custom operating-system builds. As the project’s site says, Yocto is not a Linux distribution; it creates a custom one for you. Developers worldwide can share tools, software stacks, support, and other learned information. And corporations can manage internal distributions across products to manage consistency.
Lots of Support
When enabling Yocto, you aren’t tied to any one supplier as the project is both open source and multi-architecture in terms of the hardware and software vendors that support it. Linux vendors that actively use and support Yocto include Wind River, Mentor Graphics, Timesys, and others. Vendor support is especially important to the project as it not only increases the ability for developers to create embedded projects, but it allows for the speed up of time to market distribution. As for CPUs, Yocto supports Intel, Arm, MIPS, AMD, PowerPC, and more.
Yocto allows the user to build a variety of versions for source code packages, as well as provisions for interoperability. As previously mentioned, corporations utilize Yocto’s support as a way to manage builds. One of the primary interests corporations have regarding this project is its ability to enable users to create and deploy custom interoperable content that’s also tailored for a specific application. However, it’s important to note that although the open-source distribution can be tailored for specific needs, it does limit the ability of too many changes being made. That could discourage other developers from integrating the build.
With as much flexibility as this platform provides, there are a few issues that could cause delays.. For example, in the development stage, it’s not uncommon for developers to uncover problems that require changes to the software. However, because the Yocto platform is distribution independent, the idea of adding new packages without rebuilding an entire system is almost impossible to get around, because some of these changes require rebuilding the root file system and redeploying them into production each time. Rebuilding and redeploying the system each time a package is needed would likely increase the product’s development cost, and also increase time to deployment.
Speeding Up the Process
To help customers avoid timely and costly deployment issues, WINSYSTEMS is utilizing the Yocto Linux open package binary build. The repositories provided by WINSYSTEMS are designed for the easy installation of packages that a customer may need to deploy. They are designed to enable quick package installations for testing and deployment, aiming to decrease the cost and time of deployment previously mentioned.
(The ITX-P-C444 industrial SBC is designed with NXP’s i.MX8M apps processor. It’s an example of a board that can be depoyed using the Yocto Project.)
The WINSYSTEMS open package binary build supports Linux, Uboot, and Qt for device creation, and enables packages to be downloaded directly to the Pico-ITX form factor ITX-P-C444 single board computer (SBC), for example. This SBC features an NXP i.MX8M industrial processor and a dual- and quad-coreArm Cortex-A53. With operating temperatures from -40°C to +85°C, the board is an ideal fit for industrial IoT applications in harsh conditions. That’s further boosted by the incorporation of dual Ethernet, industrial I/O, and other expansion options.
The bottom line is the the Yocto project adds a layer of flexibility and a set of best practices to your embedded system. If you choose to take advantage of it, WINSYSTEMS is behind you.