Genode OS Framework release 12.11 Nov 29, 2012
With version 12.11, Genode has become able to execute the Genode build system directly on microkernels, introduces audio drivers based on the Open Sound System project, and largely revisits the platform mechanisms used on Linux.
We are excited to report on a real break-through towards using Genode as our day-to-day OS. The just released version 12.11 of the Genode OS Framework bears the fruit of the extensive effort to enable the execution of the entire build system within the genuine Genode environment. On the course of this work, we improved the whole software stack ranging from the underlying kernels, over the framework infrastructure, third-party libraries, up to the actual tool-chain utilities. In the process, the official Genode tool chain has been updated to GCC 4.7.2.
In addition to the primary topic of self-hosting Genode, the release largely revisits and improves the existing base platforms. The Linux platform support has been almost reinvented to accommodate the use of the framework as an attractive middleware solution on Linux. Our custom kernel platform for ARM hardware gained new SoC support for Freescale i.MX and Texas Instruments OMAP4. The NOVA, Fiasco.OC, and L4ka::Pistachio kernels have been updated and improved.
With the addition of the new device driver environment for the Open Sound System, Genode users on the x86 platform have a new option for driving popular sound hardware. For users of the ARM-based OMAP4 platform, a new GPIO driver clears the way towards building more sophisticated system scenarios.
To learn more details and background information about the current release, please continue with reading the release notes of version 12.11...
How Genode came to the Pandaboard Nov 23, 2012
In the just published experience report, the Genode developers provide insights into the process of porting the framework to a new hardware platform, namely the popular Pandaboard.
The new article "How Genode came to the Pandaboard" describes the steps to bring various peripherals such as HDMI output, networking, and SD-cards to live. Additionally, the report takes the reader along the long-winding road of performance optimizations. For those who are eager to try out running Genode on the Pandaboard, the article presents a example scenario that may serve as a good starting point.
Learn more about how Genode came to the Pandaboard...
Genode OS Framework release 12.08 Aug 23, 2012
Version 12.08 introduces a way to execute the framework on bare ARM hardware without the need for a separate kernel, adds comprehensive device-driver support for the OMAP4 SoC, and revives NOVA as base platform.
Succeeding the feature-rich version 12.05 released in May, Genode 12.08 focuses on enhancing the framework's platform support. With regard to the framework's supported kernels, we are happy to announce a new base platform called base-hw and the largely reworked support for the NOVA hypervisor. The new base-hw platform enables the execution of Genode on bare ARM hardware without the need for a separate kernel. Using this platform, the kernel's functionality is integrated with Genode's core into one program, leading to a significant reduction of software complexity at the root of the process tree. Among the existing base platforms, the NOVA hypervisor has received plenty of love. Motivated by NOVA's recent move to GitHub, we largely reworked the support for this base platform, enabling x86_64, adding object integrity protection, facilitating the use of process-local names only, and changing the way of how kernel resources are allocated. These changes combined promote NOVA to a first-class citizen among the supported kernels.
The second string of development contained in the current release is the addition of comprehensive device drivers for the OMAP4 SoC. The new drivers cover HDMI output, SD-card access, USB HID, and networking. With the new device drivers in place, Genode can be leveraged on low-cost ARM platforms such as the popular Pandaboard.
Besides low-level platform improvements, the current release comes with new functionality in the form of custom components and ported 3rd-party software. Among the additions are a FFAT-based file system service, the principal ability for on-target debugging, and a way to host the genode.org website on Genode.
These and many more improvements are described in detail in the release notes of version 12.08...
NOVA Hypervisor supported on 64-bit x86 machines Jul 27, 2012
NOVA combines microkernel principles with capability-based security and virtualization technology. The updated version complements the existing x86_32 support with a new variant for x86_64.
NOVA is a so-called microhypervisor for the x86 architecture. It combines the principles of microkernels with capability-based security and hardware-assisted virtualization.
Genode supports NOVA as base platform since 2010. But because we used NOVA solely for sporadic research activities and NOVA was lacking a regular release schedule, Genode's platform support received only little attention. This has changed now. NOVA's main developer Udo Steinberg moved from TU Dresden to Intel Labs where he leads the development of NOVA as an Open-Source project. In fact, the code is now being hosted at GitHub. NOVA on GitHub..
This ignited our renewed interest in promoting this platform to a first-level citizen of our framework. The first significant improvement is the recently added 64-bit support of NOVA. We enabled Genode to work with both variants of the kernel - 32 and 64 bit.
We congratulate the NOVA developers to this new model of development and open collaboration and look forward to work closely together!
Interview in Revista Espírito Livre magazine Jun 20, 2012
Issue 36 of the Brazilian Revista Espírito Livre magazine features a comprehensive interview with Norman Feske. (update: english version)
The Brazilian Revista Espírito Livre is a magazine dedicated to Free and Open-Source software. With current issue 36, the Portuguese language magazine explores controversial questions about Internet freedom, privacy, neutrality among others. Genode seemingly represents a possible technical answer to some of these questions. In the comprehensive interview starting at page 35, co-founder of Genode Norman Feske talks about the background and motivation behind the project, describes the current structure of the community, and outlines his vision of the next generation of operating systems.
Genode OS Framework release 12.05 May 30, 2012
The highlights of version 12.05 are our new USB stack, added media replay capabilities, new support for dynamic system re-configuration, and the ability to run the GNU tool chain on Genode.
The just released version 12.05 is another corner stone for our plan to shape Genode into a general-purpose OS for the everyday use by its developers. It introduces numerious features that are crucial for this goal, in particular the groundwork for the use of file systems, the ability to execute the GNU tool chain directly on a Genode system, and a way to flexibly adapt the behaviour of operating-system components at runtime.
In addition to working on the functionality outlined above, several of the framework's base platforms have received close attention. We profoundly revisited the platform-specific code for the Fiasco.OC kernel to fully leverage the kernel's capability concept. To facilitate the use of Genode as component framework on Linux, we extended the possibilities to use Linux-specific mechanisms, in particular chroot, in a way that is easy to use and coherent with the framework's architecture.
For the full story behind all the new features and improvements, please refer to the release notes of version 12.05...
Genode participation at GSoC 2012 Apr 25, 2012
Tobias Börtitz steps up to the challenge of combining the HelenOS kernel with the Genode userland.
Google has announced the list of scholarships accepted for this year's Google Summer of Code program. Thanks to HelenOS being an accepted mentoring organization, we are happy to announce the project of Tobias Börtitz, who will bring the worlds of HelenOS and Genode closer together:
Genode Labs will support Tobias on his quest. His mentor will be long-time Genode developer Stefan Kalkowski. We are looking forward to working together on this intriguing topic!
New dynamic run-time configuration support Apr 11, 2012
A new mechanism for re-configuring subsystems at run-time paves the way to sophisticated general-purpose usage scenarios.
Genode's approach to system configuration facilitates a unified way for supplying parameters to individual components as well as to entire subsystems. Thanks to the recursive nature of Genode, complex system-integration problems can be segregated into multiple problems of low complexity whereas each partial problem retains to be individually testable. Thereby, this solution greatly mitigates the manual labour of system integration even for highly complex scenarios.
However, until now, the mechanism was limited to supplying configuration parameters at the creation time of components. Once a component is running, it was expected to adhere to a fixed predefined policy. With Genode's move towards general-purpose computing, many use cases are popping up where this limitation becomes a hindrance, for example the dynamic changing of screen resolutions, mixer settings, user-input calibration, and GUI policies.
To accommodate such use cases, we have extended Genode's configuration concept with support for re-configuring components at runtime. The new feature has landed in the master branch just now:
In addition to alleviating the problems mentioned above, the new mechanism enables many new opportunities to use Genode's slave pattern in creative ways. To illustrate how this is supposed to work, the commit contains examples for dynamically generating configuration data by a separate service as well as by the master of a slave component.
GSoC 2012 application rejected Mar 17, 2012
Unfortunately, Genode Labs was not accepted as mentoring organization for this year's Google Summer of Code program.
We just received the following notification from Google:
Thank you for submitting "Genode Labs" organization application to Google Summer of Code 2012. Unfortunately, we were unable to accept your organization's application at this time. We received many more applications for the program than we are able to accommodate, and we would encourage you to reapply for future instances of the program. Best regards, Google Open Source Programs
Google Summer of Code 2012 Mar 08, 2012
Genode Labs applies as mentoring organization at the Google Summer of Code 2012 program.
If you are a student interested in working on a Genode-related topic during the summer, the application of our project to this year's Google Summer of Code (GSoC) program may provide you with the perfect opportunity. If accepted, you will be able to work on one of a wide range of intriguing topics, get hands-on experience with advanced OS technology, and learn from the methodologies of long-term systems architects and developers mentoring your work.
Learn more about Genode's aspired participation in GSoC 2012 at our dedicated Google Summer of Code 2012 website...
Genode OS Framework release 12.02 Feb 28, 2012
Version 12.02 comes with a new API for MMIO access, a new ACPI driver, fork support for the Noux runtime, Qt version 4.7.4, and special support for using Genode as application framework on Linux.
We took the current release cycle as opportunity to carry out our plan to open up our development process. Because carrying out such a fundamental change of our work flows and tools bears many risks, we were curious about the outcome of this undertaking. We can happily report that the transition went actually better than expected. Genode 12.02 is the first version conducted under a completely open development model.
The new version contains the first steps towards the goal of using Genode as general-purpose OS for the daily use by its developers. The Noux runtime environment has been enhanced with support for the fork system call, which enables us to run the bash shell and coreutils natively on various microkernels. A new ACPI driver paves the ground for using the whole feature set of Fiasco.OC and NOVA on recent x86-based hardware platforms. Furthermore, you can find the first bits of a new device-driver manager.
The framework's base API has been enhanced to foster code reuse and robustness. For example, we introduced a new API for accessing memory-mapped I/O resources, which facilitates the use of the C++ type system to simplify device drivers. Another example is the added API support for the common pattern of reusing existing components as sandboxed libraries.
These and many more changes are described in full detail in the release notes of version 12.02...
Slides of our talks at FOSDEM 2012 Feb 14, 2012
The slides for both Genode-related talks at FOSDEM 2012 are available.
At this year's FOSDEM, the Genode project was present with two talks and the participation in a panel discussion at the microkernel developer room.
Norman Feske held an introductory talk, presenting Genode's architecture and demonstrating several use case live:
Stefan Kalkowski presented his experience with supporting many different kernels as base platforms of Genode:
The abstracts of both talks are available at the updated publications section.
Source code moved to GitHub Jan 17, 2012
GitHub has become the central place for Genode's mainline development.
Moving Genode's code base to the new public GitHub repository represents the final step on our agenda to open up our development process. From now on, the genodelabs/genode repository is where the current development happens:
To follow the development of the master branch, you may like to subscribe to the corresponding Atom Feed.
In addition to having moved the code over to the new repository, our documentation and website underwent several changes. First, the genode.org website has been migrated away from the original Plone CMS to an entirely static custom-made CMS that fetches its content from the genodelabs/genode repository. Thereby, most of the web-site content has been incorporated into the repository and will be managed through Git. Second, the Wiki is no more. Its content has been moved to the normal documentation section. By using Git for the documentation, the process of contributing to the documentation is streamlined with the way of how code contributions are handled. The steps of this process are described in the updated how-to-contribute guide.
So far, our experience with using GitHub for hosting the Genode development has been a smooth and overly enjoyable ride. We hope you will appreciate the greatly liberated development process as much as we do.
Genode at FOSDEM Jan 04, 2012
Meet us at FOSDEM 2012, to be held on 4-5 February in Brussels.
FOSDEM is one of the world's largest events of the Free-Software and Open-Source-Community.
This year, it will feature a dev room specifically dedicated to multi-server and microkernel-based operating systems. The list of participating projects include HelenOS, MINIX, GNU Hurd, and Genode. The dev room will host talks, discussion sessions, and demonstrations. Among the talks, there will be an introduction of the Genode OS Framework presented by Norman Feske:
Today's operating systems try to find a balance between seemingly conflicting goals. Ease of use is traded against security, resource utilization is traded against resource accountability, and system complexity is traded against scalability. For example, SELinux is ill famed as hard to use and consequently remains widely unused. As another example, isolation kernels minimize the complexity of critical system software but at the cost of limiting these solutions to static applications.
The Genode OS architecture shows how these apparently inherent conflicts can be solved by operating-system design. By combining a recursive system structure with capability-based security, mandatory access control becomes easy to deploy. At the same time, the trusted computing base can be minimized for each application individually such that the attack surface for security-critical system functions gets reduced by orders of magnitude compared to existing approaches. Furthermore, a concept for trading physical resources among processes allows for dynamic workloads while maintaining quality of service. That is not just theory - the system is ready for demonstration and its developers are planning to use it as development environment by the end of 2012.
After a brief introduction of where Genode comes from, the main part of the talk will be focused on the OS architecture and give a glimpse at the implementation via live demonstrations. Finally, the talk will briefly discuss the planned steps towards using Genode as general-purpose OS.
For everyone interested in operating systems in general and microkernel technology in particular, this year's FOSDEM is a great opportunity to get in touch. We are looking forward to meeting you in Brussels!
Road Map 2012 Jan 02, 2012
The road map for 2012 envisions the use of Genode as everyday development platform.
The overall theme for Genode in 2012 will be the practical use of our OS technology for carrying out regular development work. We see this as the best way to proof the maturity of the framework. Furthermore, by eating our own dog food, we generate a strong incentive for ourself to address topics that would otherwise be deferred.
For assembling the road map, we introspected ourselves and identified a list of functionalities that we could not live without, ranging from a Unix-like command-line interface, over the support for specific PC hardware, to fancy features such as a tiled window manager.
We plan to publish four releases at our quarterly release cycle. So the list of desired functionalities are spread throughout those releases. However, each release will have a different emphasis.
Version 12.02 will be geared towards the usage scenarios that we are going to present at our next Live CD scheduled for March. For version 12.05 we are planning a major rework of our arsenal of Linux-based device drivers. The release 12.08 will be the tipping point for making the initial switch to Genode by including Intel wireless drivers and a tiled window manager. Towards the end of the year, we will take the opportunity of version 12.11 to optimize the support for our beloved Lenovo Thinkpads and bring additional tools such as emacs to the table.