Genode OS Framework release 14.11 Nov 28, 2014

With the availability of the Intel wireless stack in version 14.11, we close one of the last functional gaps to use Genode on modern laptops. Further highlights of the new version are the trading of CPU resources between subsystems on top of our custom HW kernel, VirtualBox 4.3.16, a new dynamic linker, and networking on the Raspberry Pi.

Early on our long way towards the use of Genode as a general-purpose OS, we identified wireless networking as a crucial functionality. For a long time, however, we feared the topic because WiFi driver stacks are known to be extremely complex. In spring this year, we have finally started to port the Intel wireless stack from Linux to Genode. With the current release, we are proud to present the outcome of this activity as a new component on Genode.

As the second major improvement of the new version, we added a new scheduler to our custom HW kernel that allows us to trade CPU resources between Genode subsystems, similarly to how memory is managed on Genode. Furthermore, the new version comes with an upgrade of VirtualBox on NOVA to version 4.3.16 along with profound stability improvements, a new dynamic linker with a complexity of less than 20% of the old one, added networking support for the Raspberry Pi, and new GUI components.

The story behind our work on the WiFi stack as well as detailed information about all the other improvements are provided by the release documentation of version 14.11...

Article about building a simple seL4 root task Oct 30, 2014

As we have just kicked off our work on porting Genode to the seL4 microkernel, we took the chance to document the process in the form of a series of articles. The first part covers the steps of creating a minimalistic root task.

The seL4 kernel is a modern microkernel jointly developed by NICTA and General Dynamics. This summer, it was released under GPL, which makes it intriguing as a potential base platform for Genode. Its biggest appeal stems from the fact that there exists a formal proof of correctness of the kernel code. But besides this assuring attribute, with solid kernel resource management, support for capability-based security, and good performance, it is attractive on technical merits too.

The article "Genode on seL4 - Building a simple root task from scratch" covers the first steps of enabling Genode to run on seL4. It describes the integration of the kernel code with Genode's source tree and the steps taken to create a minimalistic root task that runs on the kernel. It is full of hands-on information about the methodology of such a porting effort and describes the experience with using the kernel from the perspective of someone with no prior association with the seL4 project. Read the article...

All the steps described in the article can be followed in the topic branch https://github.com/nfeske/genode/commits/sel4 of the current development.

Genode OS Framework release 14.08 Aug 28, 2014

The central theme of version 14.08 is a new GUI architecture that maintains strong security yet scales to highly flexible and dynamic GUIs. Furthermore, the release comes with a port of OpenVPN, networking support for VirtualBox, updated DDE Linux, and vastly improved performance of our custom base-hw kernel.

The new GUI architecture introduced with the release puts security in the front seat while aiming at highly customizable user experiences. In line with Genode's philosophy, it does not come as a complete solution with a fixed feature set but as a number of building blocks. Its flexibility stems from the many different ways of how those building blocks can be combined. Because each component uses well-defined interfaces, it becomes easy to customize the look&feel and the behaviour of the user interface by replacing individual components by alternative implementations.

Further highlights in addition to the GUI-related improvements are the added support for networking in VirtualBox, multi-processor support for the Seoul virtual machine monitor, pluggable file systems, and the added port of OpenVPN. Many existing parts of the framework received attention as well. For example, the environment for executing Linux device drivers (DDE Linux) on top of Genode has been updated to Linux 3.14.5, we improved the integration of Qt5, and the performance of our custom kernel for ARM hardware got a boost.

More background information about all the new features and improvements is provided in the release documentation of version 14.08...

Genode OS Framework release 14.05 May 29, 2014

Version 14.05 greatly improves the way 3rd-party software can be combined with the framework, VirtualBox on NOVA received guest-additions support, there is a new block-encryption facility, and our custom base-hw kernel became able to use multiple processors.

Genode-based system scenarios combine the software of up to 70 different open-source projects, which presents the user with the challenge to keep those software ports consistent with the framework. The new version comes with new tools and build-system improvements, which make the porting and use of such 3rd-party software easier than ever and pave the ground to scale Genode-based systems far beyond the current state.

The second focus of the release cycle was the enhancement of the platform support for NOVA on the x86 architecture and for our custom kernel on the ARM architecture. The latter received multi-processor support and a new memory management concept. For NOVA, we enabled the use of real-time priorities and continued our line of work with running VirtualBox on this kernel by adding support for guest additions such as file systems shared between Genode and the guest OS.

Furthermore, we added a new component for block-level encryption based on NetBSD's cryptographic device driver and enabled USB 3.0 on x86-based platforms.

More information about all the changes is provided in our detailed release documentation of version 14.05...

An Exploration of ARM TrustZone Technology Apr 10, 2014

A new article supplemented by a demonstration video presents our endeavour of combining Genode with the security features of ARM TrustZone.

ARM TrustZone technology has been around for half a decade. Even though it is used on most ARM-based devices ranging from low-cost development boards to mobile phones like the Samsung Galaxy S4, there exists almost no public body of knowledge around this technology. This prompted us to start a series of experiments with ARM's security extensions. Our line of work ultimately led to a demonstrable prototype where Genode is used as secure OS behind the back of Android running on a FreeScale i.MX53 SABRE tablet. We share our experience (and of course the full source code) in the form of the article An Exploration of ARM TrustZone Technology...

Genode OS Framework release 14.02 Feb 28, 2014

The two highlights of the new release are VirtualBox running on top of the NOVA microhypervisor and the added support for NetBSD's file systems. Furthermore, the release comes with new or largely revised storage components such as a block cache.

During the release cycle for version 14.02, the development was focused on the topics storage and virtualization, both considered as fundamental for using Genode as general-purpose OS.

Concerning storage, we took the chance to redesign the existing block-level components to work asynchronously. This way, block requests can be processed in a pipelined fashion and even out of order, which is beneficial to hide device latencies and to maximize throughput. Additionally, there are entirely new storage components, most prominently a new block cache, FUSE-based file-system services, and support for the file systems of the NetBSD kernel. The latter was made possible by the use of so-called rump kernels, which allow the execution of individual NetBSD kernel subsystems at user level. We use it to execute NetBSD's file systems as Genode components.

Virtualization has become a popular use case for microkernel technology. Until now, however, none of Genode's existing virtualization options such as L4Linux on top of Fiasco.OC or the Vancouver VMM on top of NOVA could be considered as compelling alternatives to commodity virtualization products. With the added support for running VirtualBox on top of the NOVA microhypervisor, we combine the benefits of microkernel technology and capability-based security in particular with a product-grade virtualization solution. Compared to the traditional host operating systems supported by VirtualBox, using VirtualBox on top of Genode/NOVA reduces the trusted computing base for the security of virtual machines by more than three orders of magnitude. For existing Genode users, VirtualBox opens up the ability to run a wide range of unmodified guest operating systems such as GNU/Linux and MS Windows side by side with regular Genode components.

As is the case for every release, there are many additional improvements all over the place, for example unified interfaces for graphics, support for POSIX signals in the Noux runtime for Unix programs, and a new pseudo file system for the interactive exploration and tracing of Genode's process tree. These and more topics are covered by the detailed release documentation of version 14.02...

Slides and videos of our FOSDEM talks Feb 10, 2014

We held two talks at FOSDEM 2014: Stefan Kalkowski presented Genode running on the secure side of ARM TrustZone whereas Norman Feske gave an overview of the project's efforts towards general-purpose computing.

The slides of both talks are available at the publications section. Both talks feature several live demonstrations. E.g., Stefan presented Genode running besides Android on an i.MX tablet. Norman showed off VirtualBox on Genode among several other demos.

For the latter talk, there is a video recording available. A video for Stefan's talk will follow soon. Thanks to the video crew at FOSDEM for their great work!

Guide for porting 3rd-party software to Genode Jan 28, 2014

Our new porting guide provides step-by-step instructions on how to port existing libraries, applications, and device drivers to Genode.

The comprehensive documentation is written in the style of a tutorial, taking DosBox as a practical example to motivate the steps needed to port an existing application to Genode. Furthermore, it gives valuable insights into time-tested methodologies of porting libraries and device drivers.

Genode Porting Guide...

Road Map 2014 Jan 17, 2014

The updated road map outlines the major topics and schedule of the project for 2014.

In 2014, the development of Genode will be focused on the base-hw kernel platform, a capability-based user interface, storage, and the scalability of 3rd-party software support.

The updated road map provides a brief reflection of the last year's progress before giving the rationale for the next steps the project will take. The various topics include for example virtualization using ARM's virtualization extensions, a novel user-interface, storage, VirtualBox on NOVA, and 3rd-party source-code package management.

Please refer to the official road-map for more details...

FOSDEM 2014 Jan 06, 2014

It goes without saying that Genode will participate in FOSDEM this year during February 1 - 2 in Brussels.

Like the years before, there will be a microkernel devroom. This time, the devroom will be held on Sunday. There will be two presentations at the devroom specifically related to Genode:

09:55 - 10:40 Genode as general-purpose OS - Progress report and demonstration Norman Feske

15:00 - 15:30 Virtualization Dungeon on ARM Stefan Kalkowski

As usual, those presentations will be garnished with demonstrations. Besides our contributions, the devroom will cover many other intriguing topics related to the Open-Source microkernel community. The devroom schedule for the whole day is available here:

https://fosdem.org/2014/schedule/track/microkernel_based_operating_systems