Demo Project

Triple Helix’s mission is to spread knowledge about Linux. For this we created a complete open source Yocto Project for Raspberry PI with GUI, and a Manual to help developers with their own project for any custom HW.

0. Introduction to Yocto and our Demo

This page has the purpose of explaining in business terms why and how Linux and Yocto can bring profit, cost reduction, and reusability for your project. The Linux world also adds thousands of already created and verified open-source SW packages .

The page also describes very briefly our open-source demo project, which comes along with a detailed user manual, and a Yocto primer.

If you are a developer – read this before going to GitHub. Knowing this information can help our and your customers, clients, partners, and investors. It is “money and project management talks” from Yocto, Linux, and open source perspective.

Our Team and Demo can definitely help you if are in one of these categories:

  1. you want to create a custom Linux-based environment for your product
  2. you look for a team to build a top Linux environment for your Embedded Device
  3. you understood you can do this with Yocto, and need a starting point for your personal or commercial project
  4. you have a Raspberry PI development platform, and want to know how to setup the existing Yocto layers
  5. you want to integrate your application in a Yocto-based environment
  6. you want to trim your Yocto project, add or remove applications
  7. you look for Embedded/C/C++/Linux/Yocto development services

The full tech article of our Demo is here: https://triplehelix-consulting.com/yocto-full-demo-gui-raspberry-pi-detailed-manual/

The main GitHub Link for the project is here: https://github.com/TripleHelixConsulting/meta-thc-v1

1. Why Linux for your Device

Linux is famous for a handful of reasons. Here are the most important ones.

  1. It is known for its TOP Security.
  2. It is free and open-source.
  3. It offers an ecosystem with tens of thousands of free SW packages in the form of libraries, modules, frameworks, development platforms, and tools. To them it adds tens of thousands of integration examples.
  4. It is so good that all huge companies like Google, Facebook, Amazon, Microsoft, Paypal, Netflix, Tesla (for the Autopilot), X (Twitter), and many others trust it for their products, revenue and customer privacy. It is also the base for the Android Kernel.
  5. It can be adapted for any HW – from the smallest Embedded and IoT Devices to the biggest Supercomputer (all Top 500 Supercomputers since 2018 run with Linux). It can also run on old HW.
  6. As an Open Source project for 33 years, the only other big such project, applied on any computer worldwide and older than it is the GNU tools.
  7. It is actively developed, supported with financial and dev resources from the mentioned big and hundreds of other companies.
  8. It is so trustworthy, that for decades no other free OS can surpass it.
  9. It is so potent and efficient, that all supercomputers are based on it.
  10. It is practically the best permanently improved OS Kernel, and the only one that can be adapted for any platform
  11. I believe in and love it so much that I wrote a book for Linux, presented through one of its top distributions: https://triplehelix-consulting.com/book/

2. How Yocto helps for better Product development

  • Yocto is an Open source project to build a full OS image with customized Linux Kernel, personalized additional SW, personalized setup, and a custom BSP (HW layer) package.
  • While many things are custom, standard layers are provided from HW manufacturers, with the addition of hundreds of example integrations. This way its adoption is accelerated.
  • Yocto can add any proprietary SW.

2.1 Structure

  • Yocto offers a layered structure, so that any part related to SW or HW is isolated, and development can be done independently or in parallel.

2.2 Cons and how Yocto pays back

  • There is only one cons – the project is relatively complex, which adds some development costs. But even without it, you will always pay development costs.
  • However, once set up, you don’t have any expenses for: fees, SW, BSP layers, dev tools, drivers, frameworks, integrations, and support.

2.3 Proprietary SW

  • The integration of any proprietary SW is the same as on any Linux/Unix-like platform. Thus, you can add any proprietary SW.
  • The integration of POSIX-compatible SW is also easy, as such layers exist for Linux.
  • Migrations of the SW layer to another HW platform are easily done with the addition of a single BSP layer. 
  • Migrations of own/proprietary/high-level applications along with their dependencies are equally easy. This is so because Yocto offers a good layered structure.
  • Development of any custom SW is flawless.
  • Encryption, Security and User Management are features available for free and by default on Linux. So should you need any of them – they are there for decades.

2.4 Updates, Fixes, and Development

  • Updates or fixes are usually backward compatible. Whenever there is a new kernel or other SW version of the open source packages – they are released, as expected for free.
  • If a company decides to share an open-source layer, finding bugs for them is increased with each next user. This way fixes can be shared back to the company which shared it.
  • Yocto, just like Linux, offers Long-Term Support (LTS) releases, guaranteeing stability for long term projects and products.

3. HW Platforms and resources

3.1 Companies and projects supporting Yocto

Apart from all standard Linux/GNU tools which are natively supported, among the companies and projects which support it are:

  • Companies: Google, Xilinx, ARM, intel, Freescale, PowerPC, RiscV, Allwinner, Raspberry PI, Phytec, Arduino, Atmel, Microchip, Toradex, Tegra, Odroid, ROS, Linaro, Amazon, Oracle, Renesas, and many others.
  • To find more companies check the members list at https://www.yoctoproject.org/. It is impressive, and I don’t want to fill the page with names.
  • Frameworks and projects: Android, ffmpeg, QEMU, WebOS, Zephyr, Darwin, OpenRC, Gnome, Anaconda, AWS, Conan, Firefox, Java, Qt, KDE, Wayland, X11, Xfce, MinGW, OpenSSL, and tens of others.
  • GUI SW – As tens of GUI frameworks are supported, and one can build any SW for Linux, most of the SW can be built with Yocto by default, some require slight edits.

4. Cost Reductions and Reuse

  • All the mentioned reasons lead to one result – massive reduction of development costs, project complexity and development time.
  • As we all work with the same frameworks, interfaces and technologies – we share a common interface to the whole tech world.
  • Otherwise all those big companies would never invest millions in Linux, Yocto, Open Source and all related technologies. They are smart, and make billions, so I believe we should trust their practical approach and results.
  • Here is more on this (on LinkedIn): Why Linux is practically used by everyone and How Open-Source drives revenues for billions.

5. Our Demo and how it can be used

Apart from our own advertising, we created a complete open-source project to present many of the Yocto capabilities. 

We also contribute by providing a manual, which explains well how one such project can be built, what it offers, and how it can be used.

Without going into any details, our project is a complete minimalist Linux distribution with:

  • Embedded versions of basic GNU tools (BusyBox)
  • HDMI, X11 and an IMGUI OpenGL demo
  • Networking, WiFi, DHCP, Shell and SSH
  • Init, RPI configuration, root filesystem, only root user

5.1 Our HW Platform choice

  • We use Raspberry PI (RPI) as it is one of the most famous and widely supported platforms. For it there are thousands of SW modules, projects, and examples. Only until 2021, there are over 45 million units sold! 
  • The RPI boards are used by companies for product development, from professionals, but also in universities, schools, and by hobbyists.
  • The Yocto meta-raspberrypi project has a layer for all RPI platforms without the latest one (RPI 5, pending to be integrated). They have over 10 different versions. meta-raspberrypi is over 10 years old, thus mature and features-rich. 
  • Raspberry PI website: https://www.raspberrypi.com/
  • meta-raspberrypi documentation

5.2 Manuals and documentation

  • This is an essential part of any open-source project, as without such, no one can use it.
  • Our project has a detailed 30 pages Manual and user guide.
  • It includes Yocto basics, building instructions, layers descriptions, and configuration notes. Everything you need to make it work.
  • It also includes references to hundreds of resources related to it, so that once you read it you will know where to find any information you may need.

5.3 Resources

6. When Linux and Yocto are NOT for your device

Linux and Yocto are not necessary for any: 

  • limited functionality bare metal device
  • Any device which doesn’t need an OS Kernel
  • Any device, which doesn’t need tens of additional drivers and packages like a Network stack, encryption capabilities, WiFi connectivity, support of multiple communication protocols, libraries for data processing, etc.

This is essential, as many bare metal and similar devices require limited amount of low-level SW, which is often feasible for writing and maintaining. 

However, at the moment that such devices grow in the required amount of additional SW modules, and SW architecture and modularity, Linux shall be considered. It delivers all this for free, along with example projects and knowledge.

7. Do you have a project to discuss?

We can help you build anything you want in the area of C/C++, Embedded, Linux, and Yocto!

We are open both to work orders and potential partnerships.

Contributions and forks of our project are also warmly welcome!

Let’s make a great impact all over the world!

Sincerely Yours,

Atanas Georgiev Rusev, Embedded SW Engineer and TripleHelix CEO

All rights reserved. Parts of this free content are allowed to be cited only when the official link to this article is provided as a source of the information and the author’s name is mentioned, example: “Cited from the article by Atanas Georgiev Rusev, https://triplehelix-consulting.com/yocto-demo/, all rights reserved”.