With the just released version 12.11, the developers of the Genode OS Framework are celebrating the break-through to execute the entire build system based on GCC 4.7.2 within their genuine operating-system environment. The new release gets accompanied with new audio drivers from the Open Sound System project, extended support for OMAP4, and numerous stability and performance improvements concerning the underlying kernel platforms.
For the stated goal to use Genode as a day-to-day OS by their developers, the ability to run the build system in the Genode environment is considered as pivotal. Of course, the build system could be executed using one of the available virtualization solutions, for example by using L4Linux on Fiasco.OC. However, this would not have much appeal for the Genode developers because it would not prove anything about the versatility of the actual environment provided by the framework itself. Instead, the developers consider this kind of virtualization just as a stop-gap solution until Genode is able to live on its own account.
The preceding releases came with several stepping stones geared to reach this goal, but the final step was an elaborative one. The work load induced by the build system stressed the framework and the underlying kernel platform far more intensely than the traditional usage scenarios and ultimately uncovered shortcomings that were unknown before. Consequently, extensive efforts went into overcoming those stumbling blocks, which spanned the whole software stack, reaching from the underlying kernels, over the base framework, C runtime, the Unix glue layer, up to the actual tool-chain components. As a result, it has become possible to run the unmodified build system to a degree that builds Genode’s base system including the core and init processes.
In addition to the improvements motivated by the build-system-related work, several of Genode’s base platforms underwent significant changes. On Linux, Genode has taken steps to become an attractive middleware for building component-based software on top of the Linux kernel. This line of work already produced surprising new ways of how the concepts of the Genode architecture meet the mechanisms provided by the Linux kernel. The custom kernel platform for ARM hardware has received new support for TrustZone technology, improved caching, and extended the support for different SoCs.
With regard to device support, the new version introduces a device-driver environment for audio drivers of the Open Sound System. With this environment, unmodified OSS audio drivers for popular x86 sound hardware can be reused on Genode. When it comes to ARM-based hardware, the project added support for Freescale i.MX, and extended the device-driver coverage of the Texas Instruments OMAP4 platform by including a new driver for general-purpose I/O pins. Speaking of the OMAP4 platform, the project just published an article reporting on the experience with adapting and optimizing Genode for the Pandaboard.