Genode is an open source operating system framework that extends existing kernels (e.g., microkernel or hypervisor) and provides a uniform API for applications.
Currently, L4/Fiasco and Linux are supported.
What's New in This Release: [ read full changelog ]
· The central theme of version 12.11 of the Genode OS Framework is self-hosting Genode on Genode. With self-hosting, we understand the execution of the entire Genode build system within the Genode environment. There are two motivations for pursing this line of work. First, it is a fundamental prerequisite for the Genode developers to move towards using Genode as a day-to-day OS. Of course, this prerequisite could be realized using one of the available virtualization solutions. For example, we could run L4Linux on top of Genode on the Fiasco.OC kernel and use the Genode build system from within an L4Linux instance. However, this defeats the primary incentive behind Genode to reduce system complexity. By having both Genode and L4Linux in the picture, we would indeed increase the overall complexity in configuring, maintaining, and using the system. Therefore, we would largely prefer to remove the complex Linux user land from the picture. The second motivation is to prove that the framework and underlying base platforms are suited and stable enough for real-world use. If the system is not able to handle a workload like the build system, there is little point in arguing about the added value of having a microkernel-based system over current commodity OSes such as GNU/Linux.
· We are happy to have reached the state where we can execute the unmodified Genode build system directly on Genode running on a microkernel. As the build system is based on GNU utilities and the GNU compiler collection, significant effort went into the glue between those tools and the Genode API. Section Building Genode on Genode provides insights into the way we achieved the goal and the current state of affairs.
· Along with the work on bringing the build system to Genode came numerous stability improvements and optimizations all over the place, reaching from the respective kernels, over the C runtime, the file-system implementations, memory allocators, up to the actual programs the tool chain is composed of. Speaking of the tool chain, the official Genode tool chain has been updated from GCC version 4.6.1 to version 4.7.2. Thereby, all 3rd-party code packages were subjected to testing and fixing activities.
· For running the build system, the project currently focuses on NOVA and Fiasco.OC as base platforms. However, our custom kernel platform for the ARM architecture has also received significant improvements. With added support for Freescale i.MX and Texas Instruments OMAP4, this platform proved to be very well adaptable to new SoCs whereas new cache handling brings welcome performance improvements. Furthermore, we have added experimental support for ARM TrustZone technology, which principally enables the execution of Genode in the so-called secure world of TrustZone while executing Linux in the so-called normal world.
· As we discovered the increasing interest in using Genode as a middleware solution on Linux, we largely revisited the support for this kernel platform and discovered amazing new ways to align the concept of Genode with the mechanisms provided by the Linux kernel. Section Linux provides a summary of the new approaches taken for supporting this platform.
· Functionality-wise, the new version introduces support for audio drivers of the Open Sound System, a new OMAP4 GPIO driver, improvements of the graphical terminal, and the initial port of an SSH client.