Several of the embedded talks at FOSDEM 2022 mention the “Eclipse Oniro Project”. I had never heard about that project from the Eclipse Foundation, so let’s see how they describe it:
Oniro is an Eclipse Foundation project focused on the development of a distributed open source operating system for consumer devices, regardless of the brand, model, make.
Oniro is a compatible implementation for the global market of OpenHarmony, an open source operating system specified and hosted by the OpenAtom Foundation.
Designed with modularity in mind, Oniro offers greater levels of flexibility and application portability across the broad spectrum of consumer and IoT devices — from tiny embedded sensors and actuators, to feature rich smart appliances and mobile companions.
As a distributed and reusable collection of open source building blocks, Oniro enables compatibility with other open source technologies and ecosystems. Through close collaboration with projects and foundations such as OpenHarmony from the OpenAtom Foundation, Yocto project and OpenChain from the Linux Foundation, Oniro helps build bridges rather than creating a digital divide.
If OpenHarmony rings a bell it’s because it’s the open-source version of Huawei’s HarmonyOS operating system, and is now managed by the OpenAtom Foundation. The description confuses me even more, and I’m still not sure what it is for, but member companies and organizations include Linaro, SECO embedded systems company, as well as lesser-known companies like Synesthesia, and of course Huawei. So let’s check the project’s resources if we can find more details.
First, it’s fairly new as the working group was only established on October 26th, 2021 after a year of work from members. We’ve got more clarity with regards to the goals as well:
The mission of the Eclipse Oniro Top-Level Project is the design, development, production and maintenance of an open source software platform, having an operating system, an ADK/SDK, standard APIs and basic applications, like UI, as core elements, targeting different industries thanks to a next generation multi-kernel architecture, that simplifies the existing landscape of complex systems, and its deployment across a wide range of devices.
So basically I understand Oniro aims to provide a vendor-agnostic platform to develop software that runs on various operating systems and hardware in order to reduce fragmentation in the consumer and IoT device industry. I will not insert an xkcd meme here, but you know what I mean. Right now, Oniro relies on the Poky/Yocto Project build system and supports three operating systems with Linux, ZephyrOS, and FreeRTOS allowing it to be used in application processors and microcontrollers.
The documentation lists seven hardware platforms supported by Oniro projects:
- 96Boards Avenger96
- 96Boards Nitrogen
- SBC-B68-eNUC SECO
- SBC-C61 SECO
- Raspberry Pi 4 Model B
- Arduino Nano 33 BLE
- nRF52840 DK
The Eclipse Oniro Project also integrates its various components into a representative use-case called a Blueprint, and at the time of writing there are five Blueprints:
- Smart Panel Blueprint
- DoorLock Blueprint
- TouchPanel Blueprint
- Transparent Gateway Blueprint – A Proof of Concept (PoC) IoT gateway that can be used as the communication hub in a smart home
- Vending Machine Blueprint
The FOSDEM 2022 talk “GPIO across Linux and Zephyr kernels” by Bernhard Rosenkränzer will showcase the Door Lock Blueprint and show how it’s possible to share code between a system using Zephyr with a Cortex-M, and another Linux on a Cortex-A. This code reuse should be beneficial since a simple piece of code can be fully tested and work for multiple platforms / operating systems, instead of having two separate trees where, for instance, one bug may be fixed in a tree, but not in the other tree.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.