Hemera is (not) Linux

Hemera is an Operating System for Embedded Devices.

Depending on how you got to know Hemera, you might or might not know about its relationship with Linux, or you might have had controversial information. This page aims to shed some light on how Hemera and Linux relate and what you can expect from that.

Hemera's Kernel

Hemera is indeed running (most of the times) on the wheels of a Linux Kernel. It might also run on an Android Kernel, which is pretty much the same as Linux. The whole kernelspace of Hemera is 1:1 compatible with Linux - we do not apply any Hemera-specific patches (unless we need to backport something to a specific Kernel version, but it's definitely not anything Hemera-specific).

The single requirement Hemera has is a minimum Kernel version (>=2.6.35 required, >=3.10 recommended for Aegis) and specific configuration options to be enabled in the Kernel to make sure all the needed subsystems work.

Hemera's middleware

Hemera is running a combination of standard Linux middleware (systemd, pulseaudio among others) and Hemera-specific middleware. To the final user/developer, this detail is hidden, exposing only the APIs of Hemera's middleware. This is done for a number of reasons:

  • Linux middleware is often a moving target, with no warranties of binary and source compatibility. Hemera abstracts this detail to ensure long term stability of its APIs.
  • There's no guarantee whatsoever a future Hemera version will use the same version or even the same middleware component for a specific task.
  • On the other hand, linux middleware is well tested and stable, and we didn't want to reinvent the wheel for no reason at all.
  • This also allows to contribute more to the Open Source projects standing behind some of the core Hemera components.
  • Part of what Hemera's middleware does (system management, managed updates, etc...) is simply not (intentionally) covered by any other existing component.

So, as much as you might be able to use the underlying middleware components, you don't need to, and you're exposing yourself to potential future breakage when porting applications. However, we stay true to our philosophy and we still allow you to interact with the bottom layer, even if it is at your own risk.

Hemera's Application SDK

Hemera heavily relies on Qt5 and EFL for exposing its Application SDK. Again, we build on top of these amazing frameworks to deliver you a complete experience.

Hemera's foundations

Hemera originates from the Open Source project Mer, and even though nowadays Hemera has a lot of differences when compared to Mer, it still shares the same heart, and Ispirata is still a major contributor to Mer's core packages, which lay the foundation for Hemera's core system.

Administering a Hemera system

There's no such thing as system administration in Hemera, apart from the system's configuration. The rest of the system is completely automated and fully managed. Hemera is constantly updated with security and feature updates.

Bottom line

Hemera is standing on the strong foundations of Linux to deliver a completely different system, heavily verticalized towards application development and management. As such, interacting with Hemera as a user or developer feels completely different than interacting with an average Linux system. Hemera is (not) Linux!