mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-19 05:37:54 +00:00
2321 lines
115 KiB
Plaintext
2321 lines
115 KiB
Plaintext
|
|
===========
|
|
Genode News
|
|
===========
|
|
|
|
|
|
Genode at FOSDEM 2017 | 2017-01-11
|
|
##################################
|
|
|
|
| The microkernel developer room at this year's FOSDEM will host four
|
|
| Genode-related talks, ranging from our custom kernel, over
|
|
| kernel-independent binaries, execution replay, to Genode's VFS
|
|
| infrastructure.
|
|
|
|
To us, the microkernel developer room at FOSDEM in Brussels has become
|
|
the most anticipated joint event of the open-source microkernel world.
|
|
The developer room is part of FOSDEM, which is the world's largest
|
|
event of the Free-Software and Open-Source community. The upcoming
|
|
FOSDEM will be held on 4th - 5th of February in Brussels:
|
|
|
|
FOSDEM 2017: [https://fosdem.org/2017/]
|
|
|
|
Originally initiated by our friends of the HelenOS project, the micro-kernel
|
|
developer room is shepherded by a different project each year. In 2017, it's
|
|
our turn to host the event. The developer room is open for all open-source
|
|
projects that are related to microkernels or component-based operating
|
|
systems. It features a mix of project introductions, experience stories,
|
|
progress reports, discussions, and demos. This year, the following
|
|
Genode-related topics will be presented:
|
|
|
|
Saturday 10:45 *A kernel in a library Genode's custom kernel approach*
|
|
_Microkernel devroom (AW1.125)_
|
|
[https://fosdem.org/2017/schedule/event/microkernel_kernel_library/ - abstract...]
|
|
|
|
Saturday 12:45 *Deterministic replay support for Genode components*
|
|
_Microkernel devroom (AW1.125)_
|
|
[https://fosdem.org/2017/schedule/event/microkernel_replay_support/ - abstract...]
|
|
|
|
Saturday 14:24 *Introducing kernel-agnostic Genode executables*
|
|
_Microkernel devroom (AW1.125)_
|
|
[https://fosdem.org/2017/schedule/event/microkernel_kernel_agnostic_genode_executables/ - abstract...]
|
|
|
|
Saturday 17:10 *The VFS paradigm from the perspective of a component OS*
|
|
_Microkernel devroom (AW1.125)_
|
|
[https://fosdem.org/2017/schedule/event/microkernel_vfs_component_os/ - abstract...]
|
|
|
|
The complete schedule of the developer room is available at
|
|
[https://fosdem.org/2017/schedule/track/microkernels_and_component_based_os/].
|
|
|
|
|
|
Genode OS Framework release 16.11 | 2016-11-30
|
|
##############################################
|
|
|
|
| Version 16.11 revisits the most fundamental low-level protocols of the
|
|
| framework to further improve its scalability, refines the
|
|
| virtual networking facilities, adds support for smart cards, and
|
|
| improves the NOVA kernel.
|
|
|
|
The fundamental mechanism of Genode is the interplay between parent and
|
|
child components. This interplay remained unchanged since the very first
|
|
version more than ten years ago. With the current release, we ultimately
|
|
took the chance to revisit those low-level aspects of the framework in the
|
|
light of the design of modern components. Specifically, we replaced the
|
|
former fully synchronous model of interaction with asynchronous communication.
|
|
Even though this change is barely visible at the API level of the framework,
|
|
it greatly eases the validation of the framework's most crucial components and
|
|
facilitates the scaling-up of Genode-based systems.
|
|
|
|
As the second prominent improvement, we refined the design and configuration
|
|
interface of the recently introduced network routing facilities. Whereas
|
|
the initial version was primarily concerned with the details of network
|
|
packet processing, the new version is tailored to the most prominent use cases
|
|
and towards the ease of use.
|
|
|
|
Further highlights of the current release are the added support for using
|
|
smart cards, kernel improvements of the NOVA hypervisor, updated VirtualBox
|
|
versions, and a virtual file system for generating time-based passwords.
|
|
|
|
The topics are covered in more detail by the
|
|
[https:/documentation/release-notes/16.11 - release documentation of version 16.11...]
|
|
|
|
|
|
Genode OS Framework release 16.08 | 2016-08-31
|
|
##############################################
|
|
|
|
| Genode 16.08 makes the entirety of the framework's drivers, protocol stacks,
|
|
| and libraries available on the seL4 kernel, brings VirtualBox 4 to the Muen
|
|
| separation kernel, and hosts VirtualBox 5 on top of the NOVA kernel. Further
|
|
| highlights are virtual networking and TOR, profound Zynq board support, and
|
|
| tools for statistical profiling.
|
|
|
|
With the current release, the interoperability of Genode with different
|
|
OS kernels comes to a great effect. By completing the implementation of
|
|
the framework's base mechanisms for seL4, literally hundreds of existing Genode
|
|
components become suddenly available to the seL4 community. In a different
|
|
arena, Genode serves as enabler to run commodity OSes like Windows via
|
|
VirtualBox on top of the Muen separation kernel.
|
|
|
|
The cross-kernel portability of components is certainly a key feature of the
|
|
framework and version 16.08 pushes this idea even further by attaining binary
|
|
compatibility across the various supported kernels. In fact, compiled once,
|
|
the same component can be executed on kernels as different as seL4 and Linux.
|
|
|
|
Speaking of components, the current release extends the framework's library
|
|
of ready-to-use building blocks in several areas. Most prominently, there
|
|
are new network-related components for routing traffic, using TOR, and for
|
|
distributing Genode over the network. Other added components are concerned
|
|
with improving the use of Genode as a general-purpose OS, or to aid the
|
|
optimization of components by the means of statistical profiling.
|
|
Version 16.08 is further complemented with added board support for devices
|
|
based on Xilinx Zynq, including drivers for GPIO, video DMA, SD cards, and I2C.
|
|
|
|
These and many more topics are covered in detail by the
|
|
[https:/documentation/release-notes/16.08 - release documentation of version 16.08...]
|
|
|
|
|
|
Genode OS Framework release 16.05 | 2016-05-27
|
|
##############################################
|
|
|
|
| With version 16.05, the Genode API receives a fundamental revision.
|
|
| The list of further improvements ranges from the introduction of Rust,
|
|
| over improved GDB support, to a profound update of many device drivers
|
|
| and ACPI features.
|
|
|
|
The current release marks the most profound API revision in the project's
|
|
history. The new API is designed to reinforce the best practices
|
|
for implementing Genode components. It is the result of countless
|
|
experiments and the practical experiences made while developing over hundred
|
|
genuine components during the past ten years.
|
|
|
|
The introduction of the new API prompted us to rework our documentation.
|
|
In particular, Genode 16.05 is accompanied with a new edition of the
|
|
"Genode Foundations" book that incorporates all architectural changes and
|
|
interface modifications of the past year.
|
|
|
|
The second focus of the current release is the major update of device
|
|
drivers. All the drivers that we ported from the Linux kernel correspond
|
|
now to Linux version 4.4.3. Those drivers comprise the Intel wireless
|
|
stack, the Intel graphics driver, the USB drivers, and the TCP/IP stack.
|
|
The updated OpenBSD-based audio driver corresponds to OpenBSD 5.9.
|
|
|
|
Apart from the revision of the base framework and device drivers, Genode
|
|
gains the ability to use the Rust programming language, makes many ACPI
|
|
features accessible, and allows the use of the GNU debugger with the
|
|
64-bit version of the NOVA hypervisor.
|
|
|
|
The complete story behind these and many more changes is covered by the
|
|
[https:/documentation/release-notes/16.05 - release documentation of version 16.05...]
|
|
|
|
|
|
How Genode came to RISC-V | 2016-03-22
|
|
######################################
|
|
|
|
| Our new article provides a look behind the scenes of porting Genode to
|
|
| the RISC-V hardware architecture.
|
|
|
|
The experience report
|
|
[https:/documentation/articles/riscv - How Genode came to RISC-V] complements
|
|
our recent
|
|
[https:/documentation/release-notes/16.02#New_support_for_the_RISC-V_CPU_architecture - announcement]
|
|
about Genode's added RISC-V support with in-depth technical information.
|
|
It briefly introduces the parts of the instruction set architecture (ISA) that
|
|
were most relevant for the porting work, presents various challenges we
|
|
encountered, and explains how we overcame them.
|
|
|
|
The article is written with two target audiences in mind: People interested in
|
|
practical experiences with RISC-V, and developers who aspire to port Genode
|
|
to new CPU architectures.
|
|
[https:/documentation/articles/riscv - Read the article...]
|
|
|
|
|
|
Genode OS Framework release 16.02 | 2016-02-26
|
|
##############################################
|
|
|
|
| Genode 16.02 introduces the RISC-V hardware architecture to the framework,
|
|
| enables the secure pass-through of USB devices to virtual machines, and
|
|
| updates the Muen separation kernel and the seL4 microkernel.
|
|
|
|
In contrast to the feature-oriented previous release, the new version focuses
|
|
on diverse topics around low-level platform support. First, there is the
|
|
addition of a new hardware architecture. With the addition of RISC-V,
|
|
we anticipate future trustworthy open-source hardware platforms.
|
|
|
|
Second, as the major functional addition motivated by Genode's use as
|
|
day-to-day OS, the new version adds the ability to assign USB devices to
|
|
virtual machines in a dynamic yet secure way. This clears the way to cover
|
|
many typical desktop work-flows with a Genode-based system.
|
|
|
|
With respect to the framework's underlying kernels, we are happy to
|
|
announce the update of the Muen separation kernel to version 0.7 and the
|
|
update of the seL4 kernel to version 2.1. The new version of Muen comes with
|
|
welcome work-flow improvements. In fact, the separation kernel can now be
|
|
targeted by Genode's automation tools in the same uniform way as all the other
|
|
base platforms.
|
|
|
|
An in-depth coverage of these and many more improvements is provided by the
|
|
[https:/documentation/release-notes/16.02 - release documentation of version 16.02...]
|
|
|
|
|
|
Road Map for 2016 | 2016-01-15
|
|
##############################
|
|
|
|
| We finalized the road map for 2016, which is primarily focused on extending
|
|
| the community of users.
|
|
|
|
After having passed the point where a few enthusiasts use Genode as
|
|
their day-to-day OS, it is time to extend the user base beyond
|
|
the inner circle of developers. The road map outlines the plan to make Genode
|
|
appealing to two target audiences, namely system builders and a narrow group
|
|
of privacy-considerate end users. Hence, the overall theme of 2016 is to
|
|
help a growing community to leverage the full potential of Genode.
|
|
|
|
The new road map is available at the [https:/about/road-map - road-map page].
|
|
|
|
|
|
Genode at FOSDEM 2016 | 2016-01-12
|
|
##################################
|
|
|
|
| There are four Genode-related talks scheduled at this year's FOSDEM,
|
|
| covering the USB Armory, seL4, the Nix package manager, and Genode
|
|
| as desktop OS.
|
|
|
|
[https://fosdem.org/2016 - FOSDEM] is the worlds biggest gathering of
|
|
open-source and free-software enthusiasts. It takes place during 30 and 31 of
|
|
January in Brussels. This year, Genode will show a strong presence again. On
|
|
Saturday, Emery, Martin, and Norman will contribute to the
|
|
[https://fosdem.org/2016/schedule/track/microkernels/ - microkernel devroom].
|
|
On Sunday, we have the opportunity to present the current state of Genode as
|
|
desktop OS at the desktops devroom. The summary of the Genode-related parts of
|
|
the FOSDEM schedule is as follows.
|
|
|
|
Saturday 10:40 *An exploration of the seL4 kernel from Genode's perspective*
|
|
_Microkernel devroom (K.4.601)_
|
|
[https://fosdem.org/2016/schedule/event/microkernels_genode_sel4/ - abstract...]
|
|
|
|
Saturday 14:10 *Porting Nix to Genode - Package management without a canonical file system*
|
|
_Microkernel devroom (K.4.601)_
|
|
[https://fosdem.org/2016/schedule/event/microkernels_genode_nix/ - abstract...]
|
|
|
|
Saturday 15:55 *Genode's TrustZone demo on the USB Armory*
|
|
_Microkernel devroom (K.4.601)_
|
|
[https://fosdem.org/2016/schedule/event/microkernels_genode_usb_armory/ - abstract...]
|
|
|
|
Sunday 10:20 *Genode as Desktop OS*
|
|
_Desktops devroom (K.4.401)_
|
|
[https://fosdem.org/2016/schedule/event/genode_as_a_desktop_os/ - abstract...]
|
|
|
|
|
|
The story behind Genode's TrustZone demo on the USB Armory | 2015-12-08
|
|
#######################################################################
|
|
|
|
| Our latest article provides a look behind the scenes of the
|
|
| development of Genode's support for the USB Armory platform.
|
|
|
|
The [http://inversepath.com/usbarmory - USB Armory] is a computer in the form
|
|
of a USB stick. It normally runs Linux. But thanks to the ARM TrustZone
|
|
capabilities of the device, it is possible to run Genode behind the back of
|
|
Linux. This is useful for shielding sensitive information like cryptographic
|
|
keys from Linux by exposing it to Genode only and thereby drastically reducing
|
|
the attack surface. Even in the event Linux gets compromised, e.g., by a
|
|
vulnerability in the USB stack, the secrets remain protected.
|
|
|
|
The article "The story behind Genode's TrustZone demo on the USB Armory"
|
|
presents the adventurous story behind enabling this scenario. The biggest challenge
|
|
was splitting the hardware platform into two worlds while maintaining the
|
|
full functionality of Linux. The article goes on to explain the interplay
|
|
between the secure world (Genode) and the normal world (Linux). Furthermore,
|
|
it provides all the pointers needed to reproduce the scenario.
|
|
[http:/documentation/articles/usb_armory - Read the article...]
|
|
|
|
|
|
Genode OS Framework release 15.11 | 2015-11-30
|
|
##############################################
|
|
|
|
| The primary focus of version 15.11 is the use of Genode as a desktop
|
|
| OS. It vastly improves the GUI and audio stacks, features the port of Intel
|
|
| KMS from Linux, extends the support for the USB Armory and Xilinx Zynq-7000,
|
|
| and introduces new file-system infrastructure such as a VFS server.
|
|
|
|
Whereas the previous release marked the point where the very first user adopted
|
|
Genode as day-to-day OS, we maintained the direction to create a Genode-based
|
|
desktop OS. Most improvements of the new version are related to this goal:
|
|
The GUI and audio stacks have become much more modular, dynamic, and flexible.
|
|
With a new copy-and-paste mechanism, we added a universally expected
|
|
desktop-integration feature in a unique way that mitigates the misuse of the
|
|
clipboard as a covert communication mechanism. Those higher-level features
|
|
are complemented with profound low-level device-driver improvements, most
|
|
noteworthy the addition of the Intel KMS driver. This driver allows us to
|
|
drive multiple displays and switch screen resolutions on the fly.
|
|
|
|
What high- and low-level components have in common, is the use of Genode's
|
|
uniform configuration concept, which solves a variety of configuration
|
|
problems with a single low-complexity mechanism. It allows us to modify
|
|
all kinds of system configurations - ranging from the wireless driver
|
|
to the style of window decoration - live by merely editing and saving
|
|
text files.
|
|
|
|
Even though the majority of improvements are attributed to the use of
|
|
Genode as desktop OS, the release also covers other areas.
|
|
Xilinx Zynq-7000 has been added to the supported platforms, TrustZone on
|
|
the USB Armory received a lot of attention, and a new VFS server makes
|
|
Genode's file-system infrastructure much more flexible.
|
|
|
|
These and many more topics are covered in detail by the
|
|
[https:/documentation/release-notes/15.11 - release documentation of version 15.11...]
|
|
|
|
|
|
Genode OS Framework release 15.08 | 2015-08-31
|
|
##############################################
|
|
|
|
| Version 15.08 marks the starting point of Genode used as day-to-day
|
|
| operating system, which underlines the maturity and scalability of the
|
|
| framework. A further highlight is the ability to execute Genode on
|
|
| top of the Muen separation kernel.
|
|
|
|
Since the first release of Genode seven years ago, we dreamed of being able
|
|
to use our OS technology as the underlying platform for our day-to-day
|
|
computing needs. With the current version, the day has come: One of
|
|
Genode's core developers has made the switch and others plan to follow
|
|
soon. Hence, the use of Genode as day-to-day OS is the underlying
|
|
theme of most improvements seen in the new version. It addresses
|
|
long-standing deficiencies of the kernel-memory management of the NOVA kernel
|
|
and Genode's custom kernel platform, extends the framework's
|
|
system-monitoring and file-system abilities, and significantly improves the
|
|
integration of VirtualBox with Genode.
|
|
|
|
The second highlight of version 15.08 is the ability to execute Genode
|
|
system scenarios on top of the Muen separation kernel. Compared to
|
|
microkernels, Muen takes the ambition to reduce kernel complexity to an
|
|
extreme. Written in the safe implementation language SPARK and with a code
|
|
complexity of merely 5,000 lines, it lends itself to be high assuring about
|
|
its correct behavior. From Genode's point of view, Muen represents an
|
|
additional target architecture of the framework's custom base-hw kernel. The
|
|
component isolation enforced by base-hw and the static isolation boundaries
|
|
enforced by Muen represent two lines of defense for protecting
|
|
security-critical system functions from untrusted components.
|
|
|
|
More details about all the improvements are provided by the
|
|
[https:/documentation/release-notes/15.08 - release documentation of version 15.08...]
|
|
|
|
|
|
Genode OS Framework release 15.05 | 2015-05-26
|
|
##############################################
|
|
|
|
| For the first time, a Genode release is accompanied by a book.
|
|
| Further highlights of the current release are vast improvements of our
|
|
| base-hw kernel, preliminary support for the seL4 microkernel, new
|
|
| device-driver infrastructure, and plenty of new device drivers.
|
|
|
|
With version 15.05, we equip Genode users with comprehensive documentation
|
|
in the form of the free book "Genode Foundations". The book covers the
|
|
architecture in great detail, assists developers with the explanation of the
|
|
development environment and system configuration, and provides insights behind
|
|
the scenes of the framework. Furthermore, the book contains the specification
|
|
of the framework's programming interfaces.
|
|
|
|
Besides the documentation, the second highlight of the release is the base-hw
|
|
kernel, which enables the execution of Genode without a 3rd-party microkernel.
|
|
Our kernel, originally designed for the ARM architecture, has become able
|
|
to run on the 64-bit x86 architecture, it received support for
|
|
kernel-protected capabilities, and its scheduler got much more flexible.
|
|
|
|
Even though we invest a lot of work in our custom kernel, the biggest
|
|
strength of Genode is its ability to leverage the benefits of different
|
|
kernels. With the current release, we introduce preliminary support to run
|
|
simple system scenarios on top of the seL4 microkernel. With seL4, there
|
|
is now the prospect of running Genode on top of a formally verified kernel.
|
|
|
|
At the framework's architectural level, we took the opportunity to
|
|
redesign the infrastructure for user-level device drivers. With this
|
|
release, device drivers become subjected to rigid access control with respect
|
|
to hardware resources. Along with this architectural change, there are
|
|
massive improvements of the device driver support. There is a new AHCI
|
|
driver, new audio drivers ported from OpenBSD, new SD-card drivers,
|
|
added platform support for i.MX6, and support for message-signalled interrupts
|
|
on x86-based machines.
|
|
|
|
A detailed description of all the improvements is provided by the
|
|
[https:/documentation/release-notes/15.05 - release documentation of version 15.05...]
|
|
|
|
|
|
Genode's core running on the seL4 kernel | 2015-05-18
|
|
#####################################################
|
|
|
|
| In the third part of our seL4 article series, we describe the steps
|
|
| taken to run Genode's fundamental components on seL4.
|
|
|
|
The article "Porting the core component" builds upon the experience gained
|
|
from the first two articles to execute Genode-based systems on
|
|
top of seL4. As for the previous articles, it is full of technical insights
|
|
into both seL4 and Genode. Among the many challenges that had to be overcome
|
|
are the management of capabilities and memory, the synchronous RPC
|
|
communication between components, and the handling of page faults. As result,
|
|
simple Genode system scenarios can be readily executed on top of the seL4 kernel.
|
|
[https://genode.org/documentation/articles/sel4_part_3 - 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 ongoing
|
|
development. Furthermore, the principle support for seL4 will be featured
|
|
in the upcoming Genode release 15.05.
|
|
|
|
|
|
An in-depth look into the ARM virtualization extensions | 2015-03-12
|
|
####################################################################
|
|
|
|
| Our new article explores the mechanisms of the ARM virtualization extensions
|
|
| and describes how Genode's custom base-hw kernel was turned into
|
|
| a microhypervisor.
|
|
|
|
With the recently published
|
|
[https:/documentation/release-notes/15.02 - version 15.02], Genode received
|
|
support for ARM's virtualization extensions. While conducting this line
|
|
of work during the year of 2014, we took the chance to thoroughly document
|
|
the experience. The article "An in-depth look into the ARM virtualization
|
|
extensions" presents the overall virtualization architecture and goes into
|
|
detail about the virtualization of memory, CPU, interrupts, and time.
|
|
Furthermore, it covers a series of experiments with I/O protection mechanisms.
|
|
[https:/documentation/articles/arm_virtualization - Read the article...]
|
|
|
|
|
|
Exercising the seL4 kernel interface | 2015-03-10
|
|
#################################################
|
|
|
|
| The second part of the article series about Genode on seL4 goes into
|
|
| detail about the kernel mechanisms for synchronous inter-process
|
|
| communication and the management of virtual memory.
|
|
|
|
The article "Genode on seL4 - IPC and virtual memory" examines the most
|
|
important mechanisms of the seL4 kernel.
|
|
It covers synchronous inter-process communication between threads, the
|
|
delegation of capabilities, and the management of virtual memory.
|
|
Apart from presenting hands-on experience with using the kernel, it identifies
|
|
potential challenges for using it as Genode base platform.
|
|
[https://genode.org/documentation/articles/sel4_part_2 - 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 ongoing
|
|
development.
|
|
|
|
|
|
Genode OS Framework release 15.02 | 2015-02-27
|
|
##############################################
|
|
|
|
| Version 15.02 extends the base-hw kernel with ARM-virtualization support,
|
|
| introduces a highly modularized tool kit for automated testing, adds
|
|
| support for the USB Armory platform, and improves the performance and
|
|
| stability of VirtualBox on Genode/NOVA.
|
|
|
|
Most of the previous releases were motivated by our desire for features that
|
|
we deemed as fundamentally important to use Genode as a general-purpose
|
|
system. Now that we have reached most of the feature set that we longed after,
|
|
the project adjusts its focus. According to our recently published
|
|
[https://genode.org/about/road-map - roadmap], the underlying theme of the
|
|
current development shifted towards the cultivation of the existing feature
|
|
set rather than the introduction of new functionality. The current release
|
|
perfectly reflects this change. It introduces a highly modular tool kit for
|
|
scaling up the project's automated testing efforts and comes with stability
|
|
and performance improvements all over the place. In particular, we are happy
|
|
to report substantial performance gains of our version of VirtualBox running
|
|
on NOVA.
|
|
|
|
As a second focus of the version 15.02, our custom base-hw kernel platform
|
|
received a lot of attention. The most prominent news is the added support
|
|
for virtualization on ARM. This line of work has been conducted and refined over
|
|
the time span of more than a year and took much of our prior experience with
|
|
the NOVA virtualization architecture and ARM TrustZone into account. This
|
|
experience resulted in a novel microhypervisor design with an extremely
|
|
tiny foot print with respect to the added complexity on the account of
|
|
virtualization support. In fact, less than 1000 lines of code had to be added
|
|
to the root of the trusted computing base. Besides virtualization
|
|
support, our kernel's scheduler got refined to take IPC relationships into
|
|
account while additionally gaining support for the USB Armory hardware platform.
|
|
|
|
These and many more improvements are covered in more detail by the
|
|
[https:/documentation/release-notes/15.02 - release documentation of version 15.02...]
|
|
|
|
|
|
Road Map for 2015 | 2015-01-14
|
|
##############################
|
|
|
|
| After brainstorming Genode's mid-term future on our mailing list,
|
|
| we finalized our road map for this year.
|
|
|
|
The development during the past years was primarily driven by our desire for
|
|
features. With respect to the feature set, we have eventually reached a state
|
|
where Genode becomes viable as general-purpose computing platform.
|
|
|
|
That said, we are still not there yet, because apart from a list
|
|
of features, it is important how those features fit together and
|
|
how easy it is to use them. Therefore, the focus for 2015 will be
|
|
the consolidation and cultivation of the existing feature set.
|
|
Still, there will be room for new developments, i.e., the use of
|
|
Genode on the seL4 kernel.
|
|
|
|
The new road map is available at [https://genode.org/about/road-map].
|
|
|
|
|
|
Genode at FOSDEM 2015 | 2015-01-14
|
|
##################################
|
|
|
|
| With three talks, Genode will show a strong presence at this year's FOSDEM.
|
|
| The talks will cover an introduction of Genode, our line of work
|
|
| regarding VirtualBox on NOVA, and Genode's evolving GUI architecture.
|
|
|
|
Keeping up with our tradition to participate in the worlds largest
|
|
gathering of the open-source and free-software community, we are happy
|
|
to announce three talks to be held by Norman Feske at FOSDEM 2015:
|
|
|
|
Sunday 12:00 - 12:25 *Genode - OS security by design*
|
|
_Security devroom (AW1.120)_
|
|
|
|
Sunday 14:20 - 15:00 *Transplantation of VirtualBox to the NOVA microhypervisor*
|
|
_Virtualization devroom (UD2.120)_
|
|
|
|
Sunday 15:30 - 16:15 *Introducing a radically componentized GUI architecture*
|
|
_Microkernel devroom (K.3.201)_
|
|
|
|
More information about the talks (including abstracts) are
|
|
available at the [https://fosdem.org/2015/schedule/speaker/norman_feske/ - FOSDEM website].
|
|
|
|
|
|
Genode OS Framework release 14.11 | 2014-11-28
|
|
##############################################
|
|
|
|
| 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
|
|
[https:/documentation/release-notes/14.11 - release documentation of version 14.11...]
|
|
|
|
|
|
Article about building a simple seL4 root task | 2014-10-30
|
|
###########################################################
|
|
|
|
| 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.
|
|
[https://genode.org/documentation/articles/sel4_part_1 - 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 | 2014-08-28
|
|
##############################################
|
|
|
|
| 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
|
|
[https:/documentation/release-notes/14.08 - release documentation of version 14.08...]
|
|
|
|
|
|
Genode OS Framework release 14.05 | 2014-05-29
|
|
##############################################
|
|
|
|
| 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
|
|
[https:/documentation/release-notes/14.05 - release documentation of version 14.05...]
|
|
|
|
|
|
|
|
An Exploration of ARM TrustZone Technology | 2014-04-10
|
|
#######################################################
|
|
|
|
| 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
|
|
[https:/documentation/articles/trustzone - An Exploration of ARM TrustZone Technology...]
|
|
|
|
|
|
Genode OS Framework release 14.02 | 2014-02-28
|
|
##############################################
|
|
|
|
| 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
|
|
[https:/documentation/release-notes/14.02 - release documentation of version 14.02...]
|
|
|
|
|
|
Slides and videos of our FOSDEM talks | 2014-02-10
|
|
##################################################
|
|
|
|
| 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
|
|
[https://genode.org/about/publications - 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
|
|
[https://video.fosdem.org/2014/H2214/Sunday/Genode_as_generalpurpose_OS_progress_report_and_demonstration.webm - 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 | 2014-01-28
|
|
###########################################################
|
|
|
|
| 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.
|
|
|
|
[https://genode.org/documentation/developer-resources/porting - Genode Porting Guide...]
|
|
|
|
|
|
Road Map 2014 | 2014-01-17
|
|
##########################
|
|
|
|
| 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.
|
|
|
|
[https://genode.org/about/road-map - Please refer to the official road-map for more details...]
|
|
|
|
|
|
FOSDEM 2014 | 2014-01-06
|
|
########################
|
|
|
|
| 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]
|
|
|
|
|
|
Genode OS Framework release 13.11 | 2013-11-28
|
|
##############################################
|
|
|
|
| In addition to evolving the Genode API to better accommodate dynamic
|
|
| workloads, version 13.11 comes with a host of new features such as
|
|
| Qt5 QML, the Linux TCP/IP as user-level library, file systems based
|
|
| on FUSE, and HDMI support for Exynos-5 and Raspberry Pi.
|
|
|
|
As follow-up to the inclusion of Qt5 in the previous release, the new
|
|
version principally enables the most distinctive feature of Qt5, namely QML.
|
|
QML parts ways with the classical QWidget approach and thereby makes the
|
|
development of visually appealing applications easier than ever.
|
|
|
|
Most of the development during the release cycle was dedicated to work
|
|
on protocol stacks. Thanks to the new implementation of the FUSE API for
|
|
Genode, FUSE-based file systems have become available to the whole range of
|
|
supported kernels. In addition, when using Genode on top of the Linux kernel,
|
|
a new file-system service allows the integration of (parts of) the Linux file
|
|
system with Genode. To improve the performance of gigabit networking, we
|
|
supplemented the existing lwIP stack with a fresh port of the Linux TCP/IP
|
|
stack that we call LXIP. Using LXIP, it becomes possible to execute one or
|
|
many networking applications, each linked to its own Linux TCP/IP stack.
|
|
|
|
In line with other releases, version 13.11 comes with improved device
|
|
drivers. This time, the framework gains HDMI and USB 3.0 storage support
|
|
for Exynos-5 SoCs as well as graphics and USB HID support for the Raspberry
|
|
Pi. The added drivers were the only missing pieces to run interactive
|
|
graphical system scenarios on both platforms.
|
|
|
|
Among the many further improvements are the switch to C++11, new protocols
|
|
for enabling dynamic resource balancing, new terminal services, and support
|
|
for ARM TrustZone on i.MX53.
|
|
For the full story, please refer to the detailed
|
|
[https:/documentation/release-notes/13.11 - release documentation of version 13.11...]
|
|
|
|
|
|
Genode OS Framework release 13.08 | 2013-08-15
|
|
##############################################
|
|
|
|
| We celebrate our 5th anniversary with the addition of three major features:
|
|
| Qt5 on all kernels, profound multi-processor support on the NOVA and
|
|
| Fiasco.OC kernels, and light-weight tracing of inter-process communication.
|
|
|
|
The availability of Qt has always been one of the features that made our
|
|
framework attractive to the microkernel community. We have closely followed
|
|
the development of Qt5 and greatly appreciate the direction the Qt developers
|
|
are heading to. Now that Qt5 has reached a stable state, the time is right for
|
|
Genode to make the switch from Qt4 to Qt5. With the fresh port of Qt version
|
|
5.1 to Genode, Qt becomes available on the entirety of kernels supported by the
|
|
framework.
|
|
|
|
Component-based systems use to pose the difficulty of getting a holistic view
|
|
on the system. The more complex the system scenarios become, the more
|
|
inter-component communication takes place. Finding performance bottlenecks in
|
|
such kinds of de-componentized systems tends to be much more challenging than
|
|
in the world of monolithic systems. To overcome this challenge, the new
|
|
version comes with tracing support deeply built into the framework. This
|
|
facility is able to capture the interactions of Genode components between each
|
|
other in a light-weight fashion with almost no side effects.
|
|
|
|
As the third major addition, version 13.08 comes with substantial support for
|
|
multi-processor systems, in particular for using Genode with the NOVA kernel.
|
|
Within the NOVA developer community, this controversial topic has been
|
|
discussed for several years. It seemed like NOVA's multi-processor model was
|
|
inherently contradicting with the design of the Genode API. However, we have
|
|
finally found a fairly elegant solution that makes multiple CPUs seamlessly
|
|
available for Genode users on NOVA.
|
|
|
|
Besides these highlights, the release comes with new SATA 3.0 and
|
|
power-management drivers for the Samsung Exynos-5 SoC, updates the Fiasco.OC
|
|
kernel and L4Linux, and introduces measures for verifying the integrity of
|
|
downloaded 3rd-party source codes.
|
|
|
|
Those and many more topics are presented in detail in the
|
|
[https:/documentation/release-notes/13.08 - release documentation of version 13.08...]
|
|
|
|
|
|
Genode OS Framework release 13.05 | 2013-05-30
|
|
##############################################
|
|
|
|
| The highlights of version 13.05 are new tools for automated testing and
|
|
| benchmarking including a suite of networking benchmarks, added device drivers
|
|
| for the Samsung Exynos 5 and Freescale i.MX SoCs, and new components for
|
|
| the operation of headless systems.
|
|
|
|
The growing diversity of Genode base platforms, in particular the variety
|
|
of ARM-based SoCs, calls for quality-assurance measures that go beyond unit
|
|
testing and Qemu-based integration tests: Genode's base functionality
|
|
including device drivers need to be continuously tested and measured on real
|
|
hardware. To automate this task, version 13.05 introduces extensive tooling
|
|
support including a suite of networking benchmarks that operates on different
|
|
levels of the networking stack.
|
|
|
|
Speaking of broadening the hardware support, the new version enhances the
|
|
existing base of device drivers for ARM-based SoCs with support for SATA,
|
|
USB-3, eMMC, and networking on Samsung Exynos 5, as well as support for LCD
|
|
display and touch-screen devices on Freescale i.MX SoCs. Furthermore, it
|
|
features basic support for the Broadcom BCM2835 SoC, which is the heart of the
|
|
popular Raspberry Pi platform.
|
|
|
|
Apart from the extended pool of device drivers, there is a new facility for
|
|
capturing LOG data to files stored on a file system, a command-line based user
|
|
interface for managing Genode subsystems, and the addition of Linux/ARM as
|
|
Genode base platform.
|
|
|
|
The full story behind these and many more changes is detailed in the
|
|
[https:/documentation/release-notes/13.05 - release notes of version 13.05...]
|
|
|
|
|
|
Genode OS Framework release 13.02 | 2013-02-28
|
|
##############################################
|
|
|
|
| The version 13.02 takes a major leap with supporting the NOVA hypervisor by
|
|
| fully embracing IOMMUs and NOVA's virtualization capabilities. Additionally,
|
|
| the framework enables the use of ARM Cortex A15, comes with a new audio
|
|
| interface, and introduces file-system notifications.
|
|
|
|
Following the tradition to focus the February release on platform improvements,
|
|
we dedicated the release cycle of version 13.02 to bringing the NOVA platform
|
|
to new heights, revisiting several framework internals, and exploring the
|
|
Exynos 5250 SoC based on ARM Cortex A15.
|
|
|
|
The work on the NOVA platform pursued three goals: Improving the kernel to make
|
|
it fit for Genode's highly dynamic work loads, leveraging the IOMMU support
|
|
provided by the kernel, and tightly integrating the Vancouver virtualization
|
|
solution with the Genode environment. These improvements combined turn NOVA
|
|
into an intriguing base platform for Genode on x86 machines. Besides the x86
|
|
architecture, the framework receives new support for ARM Cortex A15 CPUs in the
|
|
form of the Exynos 5250 SoC. We enabled Genode on this hardware platform using
|
|
both our custom kernel as well as the Fiasco.OC kernel.
|
|
|
|
Even though the current version is primarily focused on platform support, there
|
|
are noteworthy functional improvements as well. A few highlights are a
|
|
completely redesigned audio interface, added file-system notification
|
|
capabilities, and a new fault-detection mechanism.
|
|
|
|
These and many more improvements are described in elaborative detail in the
|
|
[https:/documentation/release-notes/13.02 - release notes of version 13.02...]
|
|
|
|
|
|
Road Map 2013 | 2013-01-15
|
|
##########################
|
|
|
|
| The updated road map provides the background and rough schedule for the
|
|
| advances of the framework planned for 2013.
|
|
|
|
The road map of 2013 encompasses four major topics: improving the
|
|
framework infrastructure, using Genode as a self-hosting environment,
|
|
tooling and optimizations, and hardware support.
|
|
|
|
Before going into detail about each of those topics, the updated road map
|
|
document takes the chance to look back at the outcome of 2012. Even though
|
|
the project largely maintains its main motivation of last year to turn Genode
|
|
into a real-world general-purpose OS, the planned work reaches out to
|
|
challenges that lie beyond this immediate goal, in particular multi-processor
|
|
scalability, support for IOMMUs, extended ARM SoC support, and improved
|
|
virtualization on x86.
|
|
|
|
[https://genode.org/about/road-map - Review our road-map for more details...]
|
|
|
|
|
|
Genode OS Framework release 12.11 | 2012-11-29
|
|
##############################################
|
|
|
|
| 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
|
|
[https:/documentation/release-notes/12.11 - release notes of version 12.11...]
|
|
|
|
|
|
How Genode came to the Pandaboard | 2012-11-23
|
|
##############################################
|
|
|
|
| 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
|
|
[https:/documentation/articles/pandaboard - "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 [https:/documentation/articles/pandaboard - how Genode came to the Pandaboard...]
|
|
|
|
|
|
Genode OS Framework release 12.08 | 2012-08-23
|
|
##############################################
|
|
|
|
| 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
|
|
[https:/documentation/release-notes/12.08 - release notes of version 12.08...]
|
|
|
|
|
|
NOVA Hypervisor supported on 64-bit x86 machines | 2012-07-27
|
|
#############################################################
|
|
|
|
| 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. [https://github.com/IntelLabs/NOVA - 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 | 2012-06-20
|
|
#########################################################
|
|
|
|
| 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.
|
|
|
|
[https://www.revista.espiritolivre.org/lancada-edicao-n-36-da-revista-espirito-livre - Issue 36 of the Revista Espírito Livre...]
|
|
|
|
[https:/about/interview_rel36 - English version of the interview...]
|
|
|
|
|
|
Genode OS Framework release 12.05 | 2012-05-30
|
|
##############################################
|
|
|
|
| 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
|
|
[https:/documentation/release-notes/12.05 - release notes of version 12.05...]
|
|
|
|
|
|
Genode participation at GSoC 2012 | 2012-04-25
|
|
##############################################
|
|
|
|
| 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:
|
|
|
|
:[http://trac.helenos.org/ticket/419 - HelenOS as a Genode platform]:
|
|
|
|
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 | 2012-04-11
|
|
#######################################################
|
|
|
|
| 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:
|
|
|
|
:[https://github.com/genodelabs/genode/commit/9a00ad7ae3ac8e4fd4867555db7671df34aac882 - Commit introducing dynamic re-configuration]:
|
|
|
|
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 | 2012-03-17
|
|
###########################################
|
|
|
|
| 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:
|
|
|
|
: <pre>
|
|
: 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
|
|
: </pre>
|
|
|
|
|
|
Google Summer of Code 2012 | 2012-03-08
|
|
#######################################
|
|
|
|
| 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 [https:/community/gsoc_2012 - Google Summer of Code 2012 website...]
|
|
|
|
|
|
Genode OS Framework release 12.02 | 2012-02-28
|
|
##############################################
|
|
|
|
| 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
|
|
[https:/documentation/release-notes/12.02 - release notes of version 12.02...]
|
|
|
|
|
|
Slides of our talks at FOSDEM 2012 | 2012-02-14
|
|
###############################################
|
|
|
|
| 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:
|
|
|
|
:[https://genode-labs.com/publications/nfeske-genode-fosdem-2012-02.pdf - Introducing Genode]:
|
|
|
|
Stefan Kalkowski presented his experience with supporting many different
|
|
kernels as base platforms of Genode:
|
|
|
|
:[https://genode-labs.com/publications/skalkowski-diversity-fosdem-2012-02.pdf - The agony of choice - the diversity of microkernels in Genode]:
|
|
|
|
The abstracts of both talks are available at the updated
|
|
[https:/about/publications - publications section].
|
|
|
|
|
|
Source code moved to GitHub | 2012-01-17
|
|
########################################
|
|
|
|
| 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:
|
|
|
|
:[https://github.com/genodelabs - Genode Repository at GitHub]:
|
|
|
|
To follow the development of the master branch, you may like to subscribe
|
|
to the corresponding
|
|
[https://github.com/genodelabs/genode/commits/master.atom - 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
|
|
[https:/community/contributions - 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 | 2012-01-04
|
|
#############################
|
|
|
|
| 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.
|
|
|
|
:[https://fosdem.org/2012 - FOSDEM 2012, 4-5 February, Brussels, Belgium]:
|
|
|
|
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:
|
|
|
|
:Abstract:
|
|
|
|
_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 | 2012-01-02
|
|
##########################
|
|
|
|
| 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.
|
|
|
|
[https://genode.org/about/road-map - Review our road-map for more details...]
|
|
|
|
|
|
New issue tracker at Github | 2011-12-20
|
|
########################################
|
|
|
|
| To promote open development, the new issue tracker replaces both the public
|
|
| tracker at Sourceforge and the tracker formerly internal to Genode Labs.
|
|
|
|
As promised earlier, Genode has got a new issue tracker at Github:
|
|
|
|
:[https://github.com/genodelabs/genode/issues]:
|
|
|
|
Please use this tracker to report and discuss Genode-related issues from now
|
|
on. The old public tracker at Sourceforge is still there but all issues have
|
|
been either closed or migrated to Github.
|
|
|
|
|
|
Steps towards an open development process | 2011-12-05
|
|
######################################################
|
|
|
|
| Genode is going to embrace an open and transparent development process.
|
|
|
|
Posted by Norman Feske at the Genode mailing list:
|
|
|
|
Over the past four years, the Genode OS Framework has seen rapid progress.
|
|
Skimming over the release notes of the past releases makes me very proud. It is
|
|
clear that the project's development is going stronger than ever. However, at
|
|
the same time, I recognise that progress on a technical level is only one part
|
|
of a successful Open-Source project. A certainly even more important part is
|
|
the participation of a diverse community. This is where our project is vastly
|
|
underdeveloped. By continuing the development at status quo, Genode will
|
|
continue to steadily improve but it will not be able to capture a significant
|
|
position in the operating-systems world. Instead, it will possibly remain a
|
|
curiosity. Therefore, we Genode developers regard the transition of our work to
|
|
an open and transparent development process as the next big challenge we want
|
|
to tackle.
|
|
|
|
Review of the situation
|
|
=======================
|
|
|
|
Even though Genode is an Open-Source project, its development has been pursued
|
|
largely behind the closed doors of our company Genode Labs. The planning of the
|
|
road map, most technical discussions, issue tracking, and revision management
|
|
are used to be done within the company. There had been two reasons for this
|
|
policy namely the preservation of exclusivity and the efficiency of
|
|
coordination.
|
|
|
|
Regarding the first reason, when we started our business, we desired to
|
|
preserve a certain degree of competitive advantage to ourselves by keeping some
|
|
information "protected" from the public eye. For example, revealing the
|
|
detailed history of the over 5000 source-code revisions of the project would
|
|
enable any outsider or competitor to deeply analyze the way of how our company
|
|
works. These concerns had been acknowledged by other startup companies with
|
|
statements in the line of "Open-Source has hurt our business".
|
|
|
|
The second reason is the way of how humans intuitively work together in a
|
|
non-distributed environment such as a our small company. Instead of discussing
|
|
technical matters on a mailing list, it appears to be much easier and
|
|
presumably more efficient to engage in face-to-face conversations. The writeup
|
|
of our releases notes at regular intervals served us as an instrument to
|
|
recapture the rationale behind our discussions and document it. This worked
|
|
exceedingly well. In comparison, discussing every detail on a mailing list
|
|
seems to be inconvenient.
|
|
|
|
Why do we desire a change?
|
|
==========================
|
|
|
|
The answer to this question can be put quite simply as "to make the project
|
|
relevant". But it goes deeper than that. First, we see ourself as Free-Software
|
|
AND Open-Source advocates. I wholeheartedly disagree with statements that
|
|
suggest that Open Source is incompatible with having a business. For us, the
|
|
contrary is true. Without Free and Open-Source Software, there would be no
|
|
Genode Labs. The great wealth of the GNU software stack forms the basis of all
|
|
the tools we use every day and it plays a significant role for our passion to
|
|
develop software. Furthermore, Genode would not be of much value without all
|
|
the great building blocks in the form of existing Open-Source code that we
|
|
reuse in our context. Hence, it is our personal desire to contribute to the
|
|
Free and Open-Source software world and to intensify the collaboration with
|
|
other projects with the same spirit.
|
|
|
|
We still see the preservation of a certain degree of exclusivity as important
|
|
for our dual-licensing business model. If we made Genode available under the
|
|
BSD license, there would be not point in pursuing this model. However, hiding
|
|
the development process from the public is not only poor-spirited but it
|
|
creates an artificial barrier for people who want to participate. The book
|
|
"Producing Open Source Software" (http://producingoss.com) by Karl Fogel was an
|
|
eye opener to us.
|
|
|
|
Regarding the efficiency of collaboration, I have to admit that the statement
|
|
above about how great the current way works is really not well-founded - simply
|
|
because we haven't tried the alternative to discuss everything in public, yet.
|
|
Obviously, we are risking to spoil our presumed efficiency by changing the mode
|
|
of collaboration. On the other hand, by documenting the process of solving each
|
|
problem in the form of public mailing-list postings, we give everyone the
|
|
chance to contribute to and to learn from our findings.
|
|
|
|
The next steps
|
|
==============
|
|
|
|
We take the current release cycle as opportunity to execute our plan to open
|
|
the development process. Our coarse schedule is to migrate our internal issue
|
|
tracker to the public until mid of December. From this day on, all issues will
|
|
be tracked publicly. The place for all technical discussions will be the Genode
|
|
mailing list. Until mid of January, we will prepare a new public source-code
|
|
tree in the form of a Git repository that we will then use as mainline
|
|
development tree.
|
|
|
|
As a further change of policy, we plan to include all documentation as found on
|
|
the website in the mainline repository and remove the Wiki. This way,
|
|
contributions to the documentation will be handled in the same way as code
|
|
contributions.
|
|
|
|
I hope that our designated change is in the interest of all of you and I look
|
|
forward to see how it will impact the further progress of Genode.
|
|
|
|
Best regards
|
|
|
|
Norman
|
|
|
|
|
|
Genode OS Framework release 11.11 | 2011-11-29
|
|
##############################################
|
|
|
|
| With version 11.11, we explore a plethora of options of combining Genode with
|
|
| virtualization techniques.
|
|
|
|
The overall theme of Genode 11.11 is the exploration of various levels of
|
|
virtualization, ranging from faithful virtualization, over paravirtualized
|
|
Linux, to custom variants of OS-level and application-level virtualization. The
|
|
latter approach is particularly related to Genode and provides us with a novel
|
|
approach to user-level debugging.
|
|
|
|
Each of the experiments were conducted with concrete goals. The goal for
|
|
enabling faithful virtualization was to integrate the high-performance
|
|
Vancouver virtual machine monitor (VMM) into Genode. This VMM implementation
|
|
used to be tied to a NOVA-specific user land. With Genode 11.11, it becomes
|
|
apparent how this virtualization technology and Genode's component framework
|
|
can cross-fertilize.
|
|
|
|
Our work on paravirtualized Linux was motivated by the goal to execute Android
|
|
as a node in Genode's process tree. Based on the L4Android project and L4Linux,
|
|
our work comprised the implementation of Genode-specific stub drivers for
|
|
L4Linux. This way, L4Linux can be tightly integrated with Genode interfaces for
|
|
block devices, framebuffer, input, UART, and network.
|
|
|
|
With Noux, Genode brings along a custom OS-level virtualization approach aiming
|
|
at the execution of unmodified command-line based GNU software on Genode. The
|
|
immediate goal for this release was to develop Noux to a level that enables us
|
|
to run VIM as Genode sub system. This work involved extending the Noux runtime
|
|
as well as creating a terminal emulator.
|
|
|
|
For the highest abstraction level of virtualization on Genode, we coined the
|
|
term application-level virtualization. Enabled by the sandboxing inherent to
|
|
Genode's architecture, we implemented a solution for user-level debugging via
|
|
the GNU debugger. The solution fits perfectly with the Genode architecture and
|
|
provides powerful debugging facilities without compromizing the security of the
|
|
system.
|
|
|
|
To learn more about those and many other improvements, please read on the
|
|
[https:/documentation/release-notes/11.11 - release notes of version 11.11...]
|
|
|
|
|
|
Android on top of Genode | 2011-09-27
|
|
#####################################
|
|
|
|
| With the new support for L4Android, the Android software stack can be used as
|
|
| Genode sub system.
|
|
|
|
As of today, Google's Android OS is apparently one of the hottest topics in the
|
|
world of smartphones and tablets. Among the users of Genode, we recognise a
|
|
general interest in combining the framework with the Android platform. With <a
|
|
class="external-link" href="http://l4android.org">L4Android</a> there already
|
|
exists a special variant of the L4Linux kernel that is able execute the Android
|
|
software stack on top of the Fiasco.OC kernel.
|
|
|
|
Our port of L4Linux to Genode in May has shown that L4Linux works well with
|
|
Genode. Since L4Android is derived from L4Linux, we were confident that we
|
|
could adapt L4LAndroid to Genode in a similar way. We are happy to report that
|
|
this feature has now become available at our subversion repository. With the
|
|
new support of L4Android on Genode, Android can be used on Genode on the
|
|
Fiasco.OC kernel on the IA32 architecture. For those of you who are eager to
|
|
experiment with L4Android on Genode, please find further information at the
|
|
top-level
|
|
[http://genode.svn.sourceforge.net/viewvc/genode/trunk/ports-foc/README - README]
|
|
file of the 'ports-foc' repository and share your results with us at the
|
|
[https:/community/mailing-lists - Genode mailing list].
|
|
|
|
|
|
Genode OS Framework release 11.08 | 2011-08-17
|
|
##############################################
|
|
|
|
| Version 11.08 introduces a unified workflow for dealing with all microkernels
|
|
| supported by the framework. This way, application scenarios can be ported
|
|
| from one kernel to another in an instant.
|
|
|
|
The Genode OS Framework aspires to provide a common ground for creating
|
|
microkernel-based operating systems, relieving developers from wasting efforts
|
|
in duplicating other people's work such as implementing basic device drivers,
|
|
tools, and application runtimes. Because in the microkernel domain, each
|
|
development poses different requirements, there is no single microkernel that
|
|
fits all purposes. Instead, there exist a plethora of different kernels, each
|
|
focused on different use cases. By supporting as many as 8 different kernels at
|
|
API level, Genode allows users of the framework to develop an application once
|
|
while preserving the freedom to pick the kernel that fits best with the use
|
|
case at hand. Still, each kernel uses to come with different tools,
|
|
configuration mechanisms, and boot concepts. Even though Genode programs can be
|
|
developed in a kernel-independent way, the deployment of such programs still
|
|
required profound insights into the peculiarities of the respective kernel. The
|
|
new version 11.08 of the framework addresses these concerns by providing a
|
|
unified workflow for all supported kernels. Downloading and using a different
|
|
kernel has become a matter of a few minutes and requires no prior knowledge
|
|
about the kernel.
|
|
|
|
In addition to the new tooling support, the current release advances the
|
|
framework's block-device infrastructure and extends the support for ARM
|
|
platforms. There are several new drivers for peripheral devices such as AHCI,
|
|
SD-card, and IDE, a new block-partition service, and libc support for accessing
|
|
VFAT partitions. The ARM support has been extended to cover both L4Linux (on
|
|
Fiasco.OC) and Qt4 (ARMv6, ARMv7). Furthermore, the new version is accompanied
|
|
with a comprehensive documentation update.
|
|
|
|
Read [https:/documentation/release-notes/11.08 - the full story]
|
|
about the various improvements that come with the version 11.08...
|
|
|
|
|
|
Genode OS Framework release 11.05 | 2011-05-26
|
|
##############################################
|
|
|
|
| The Genode version 11.05 advances the Fiasco.OC platform support to the same
|
|
| level as the other fully-featured base platforms, enables the use of L4Linux
|
|
| with Genode, and introduces a brand new API for inter-process procedure calls.
|
|
|
|
Fiasco.OC is a modern microkernel developed at the OS Group of the University
|
|
of Technology Dresden. It is highly regarded for two reasons, its comprehensive
|
|
support for different CPU architectures and the user-level variant of the Linux
|
|
kernel called L4Linux. Now, those advantages have become available to the users
|
|
of Genode. Thereby, new usage scenarios can be realized by combining the
|
|
L4Linux virtualization solution with Genode's rich set of components such as
|
|
Qt4, lwIP, and a growing number of device drivers.
|
|
|
|
Our custom kernel implementation for MicroBlaze-based SoCs has undergone a
|
|
major upgrade to enable the implementation of user-level device drivers. To
|
|
make this platform easy to explore, the release is accompanied with a reference
|
|
SoC that is ready-to-use on the Xilinx Spartan3A Starter Kit.
|
|
|
|
The most significant API-related change of the framework is a brand new API for
|
|
implementing remote procedure calls across process boundaries. The new RPC API
|
|
takes our experience during last 5 years of Genode development into
|
|
consideration and alleviates long standing shortcomings of the original
|
|
inter-process communication API.
|
|
|
|
To pave the way towards the use of Genode for productive use, we have started
|
|
to explore ways to make standard debugging solutions available to Genode. Our
|
|
new GDB monitor implementation speaks the GDB protocol over TCP/IP and thereby
|
|
enables the GNU debugger to inspect a user-level Genode process via a remote
|
|
connection.
|
|
|
|
Read the complete story about these and many more changes in the
|
|
[https:/documentation/release-notes/11.05 - release notes of version 11.05...]
|
|
|
|
|
|
Exciting challenges ahead | 2011-03-24
|
|
######################################
|
|
|
|
| Explore more than 30 new Genode-related project proposals at our challenges
|
|
| wiki page
|
|
|
|
With each new Genode release, the scope of feasible use cases for the framework
|
|
grows and motivates us to reach out for new ambitious goals. There is a
|
|
dedicated [https:/community/wiki/Challenges - Wiki page] for collecting those
|
|
ideas. After having released the version 11.02 of the framework, we took the
|
|
chance to reiterate the many ideas that popped up recently, ideas ranging from
|
|
the support of diverse potential base platforms, over creative combinations of
|
|
Genode with other Open-Source projects, to novel tools and applications.
|
|
|
|
So if you are curious about what kinds of projects we have in mind in the mid
|
|
term, have fun browsing through the project proposals. If one of these topics
|
|
catches your interest, we'd be happy about you joining in with the development
|
|
or discussing those ideas at our [https:/community/mailing-lists - mailing list].
|
|
Also, if you have additional ideas, please do not hesitate to tell us more.
|
|
|
|
Discover the Wiki page about our
|
|
[https:/community/wiki/Challenges - future challenges...]
|
|
|
|
|
|
Norman Feske introduces Genode on YouTube | 2011-03-10
|
|
######################################################
|
|
|
|
| Bas de Lange has published the footage of Norman Feske's talk at the Software
|
|
| Freedom Day 2010 in Amsterdam
|
|
|
|
In his talk, Norman Feske sheds light on the background behind the company
|
|
Genode Labs, introduces the Genode OS architecture, and demonstrates the
|
|
concepts live. The talk was recorded at the
|
|
[http://www.softwarefreedomday.eu - Software Freedom Day 2010] event in
|
|
Amsterdam. Thanks to Bas the Lange for publishing the material.
|
|
|
|
: <object height="385" width="480">
|
|
: <param name="movie" value="http://www.youtube.com/v/Z1IMV3FJO7Q" />
|
|
: <param name="allowFullScreen" value="true" />
|
|
: <param name="allowscriptaccess" value="always" />
|
|
: <embed width="480" height="385" allowfullscreen="true"
|
|
: allowscriptaccess="always"
|
|
: type="application/x-shockwave-flash"
|
|
: src="http://www.youtube.com/v/Z1IMV3FJO7Q">
|
|
: </embed>
|
|
: </object>
|
|
|
|
[http://www.youtube.com/watch?v=Z1IMV3FJO7Q - Visit the YouTube page...]
|
|
|
|
|
|
Genode OS Framework release 11.02 | 2011-02-24
|
|
##############################################
|
|
|
|
| Version 11.02 of the framework adds support for the Fiasco.OC and NOVA v0.3
|
|
| kernels as well as a new custom kernel platform targeted at softcore CPUs.
|
|
| Furthermore, we introduce the Noux execution environment for using GNU
|
|
| software natively on Genode.
|
|
|
|
The Genode project takes another leap forward regarding the use of different
|
|
kernels as base platforms for using the framework. The new supported Fiasco.OC
|
|
kernel offers a rich feature set that is unmatched by any other open-source
|
|
microkernel. It works with the x86_32, x86_64, and ARM architectures, features
|
|
capability-based security, scales to multiple CPUs, and provides special
|
|
optimizations for running virtualized operating systems on top. Genode can now
|
|
leverage the advanced features of this kernel, in particular those related to
|
|
enforcing strict security policies.
|
|
|
|
With NOVA and Fiasco.OC, there have now become two kernels available that are
|
|
capable of enforcing Genode's security architecture at kernel level. Speaking
|
|
of NOVA, we are happy to report to have upgraded Genode's NOVA support to
|
|
version 0.3 of the kernel. This version was released earlier this month and
|
|
brings many of the features we desired, the most important being the revocation
|
|
of resources. With the new version, NOVA has now become a base platforms that
|
|
supports the entire Genode API without compromises.
|
|
|
|
In addition to broadening the support for existing kernels, we have started to
|
|
reach out into kernel land for running Genode on softcore CPU as found in
|
|
FPGA-based SoCs. Our custom kernel architecture achieves a further reduction of
|
|
TCB complexity by consolidating kernel functionality with Genode's user-level
|
|
core. The current implementation is able to run core and multiple instances of
|
|
nested init processes on the Xilinx MicroBlaze CPU.
|
|
|
|
The most significant functional addition to the framework is a new execution
|
|
environment called Noux that enables running unmodified GNU software on top of
|
|
Genode. Even though in an early stage, Noux is already able to execute GNU
|
|
coreutils without requiring manual porting work.
|
|
|
|
Read on about further details regarding the new kernel platforms, the vision
|
|
behind Noux, and many more improvements of the framework in the
|
|
[https:/documentation/release-notes/11.02 - release notes of version 11.02].
|
|
|
|
|
|
Genode OS walk-through on YouTube | 2010-12-22
|
|
##############################################
|
|
|
|
| Check out our new screencast presenting the Genode Live CD 10.11.
|
|
|
|
For those of you who like to get a glimpse of our recently released
|
|
Live CD but hesitate to download and boot the ISO image, we have
|
|
prepared the following screencast with a guided walk-through. Enjoy!
|
|
|
|
|
|
: <object height="385" width="480">
|
|
: <param name="movie"
|
|
: value="http://www.youtube.com/v/CJdWOmajo_8?fs=1&hl=en_US" />
|
|
: <param name="allowFullScreen" value="true" />
|
|
: <param name="allowscriptaccess" value="always" />
|
|
: <embed width="480" height="385"
|
|
: src="http://www.youtube.com/v/CJdWOmajo_8?fs=1&hl=en_US"
|
|
: type="application/x-shockwave-flash" allowscriptaccess="always"
|
|
: allowfullscreen="true">
|
|
: </embed>
|
|
: </object>
|
|
|
|
[http://www.youtube.com/watch?v=CJdWOmajo_8 - Visit the YouTube page...]
|
|
|
|
[https:/download/live-cds - Download the real thing...]
|
|
|
|
|
|
Genode OS Framework release 10.11 | 2010-11-30
|
|
##############################################
|
|
|
|
| With version 10.11, Genode has become able to run network drivers of the gPXE
|
|
| project, employ user-level on-demand paging, and use advanced graphics with
|
|
| the nitpicker GUI server.
|
|
|
|
With the [https:/download/live-cds - recently published Live CD], the Genode
|
|
project has reached a new stage by integrating advanced device drivers, complex
|
|
protocol stacks, and real-world applications into one dynamic setup. The new
|
|
Genode release 10.11 bears fruit of the intensive effort that went into this
|
|
important milestone. There are improvements and functional additions all over
|
|
the code base. To highlight a few, we enhanced the Nitpicker GUI server to
|
|
support alpha blending, added an execution environment for running network
|
|
drivers of the gPXE project, completed the implementation of Genode's concept
|
|
for user-level page-fault handling, and further advanced the integration of the
|
|
paravirtualized Linux kernel with Genode's native interfaces for networking,
|
|
block-device access, graphics, and audio.
|
|
|
|
Furthermore, the release comes with a number of new components such as a
|
|
virtual network bridge and a http-based block server, which can be combined
|
|
with the existing components to open up new use cases of the framework.
|
|
|
|
Please enjoy the [https:/documentation/release-notes/10.11 - full description]
|
|
of all the improvements that come with version 10.11.
|
|
|
|
|
|
Genode Live Demonstration 2010-11 | 2010-11-16
|
|
##############################################
|
|
|
|
| The new Genode Live CD showcases the vast functional progress during the past
|
|
| year in a selection of five demos ranging from native Qt4/Webkit support to
|
|
| hardware-accelerated 3D graphics.
|
|
|
|
Since the release of the previous Genode Live CD in September 2009, we focused
|
|
our development work on supporting native Qt4/Webkit applications, user-level
|
|
Linux, sound support, Mesa/Gallium3D, block drivers, and a networking stack.
|
|
Furthermore, we paid special attention to tightly integrate existing software
|
|
with native Genode features. Two prominent examples are the seamless
|
|
integration of a virtualized Linux desktop and the support for running complete
|
|
Genode subsystems as plugin in the Arora web browser. In response to several
|
|
requests to complement our regular source-code releases with a new bootable
|
|
live CD, we have now published a new version.
|
|
|
|
You can now test drive the current version of Genode on your PC (or virtual
|
|
machine) to get an idea about where the development of the framework is
|
|
heading.
|
|
|
|
[https:/download/live-cds - Download the new live CD]
|
|
featuring five setups showcasing our efforts of the past year.
|
|
|
|
|
|
Genode OS Framework release 10.08 | 2010-08-11
|
|
##############################################
|
|
|
|
| With Gallium3D, MadWifi, and a new block-driver infrastructure, the release
|
|
| 10.08 takes Genode's device-driver support to the next level.
|
|
|
|
Wireless networking and hardware-accelerated graphics are commonly regarded as
|
|
two of the most sophisticated domains when it comes to device-driver support in
|
|
operating systems. We are proud to have taken the challenge to support these
|
|
device classes in the Genode OS Framework. The just released version 10.08
|
|
comes with support for the Gallium3D software stack alongside the Intel
|
|
graphics execution manager, which enables Genode applications to perform
|
|
hardware-accelerated 3D graphics on Intel GMA platforms. Our port of the
|
|
MadWifi wireless stack pushes the limits of what can be done with our Linux
|
|
device-driver environment. Furthermore, we extended our device-driver-related
|
|
activities to block devices, resulting in a new block-device interface and an
|
|
ATAPI driver accompanied with an ISO 9660 file system. Apart from device
|
|
drivers, there are numerous other improvements such as the upgrade to Qt4.6.3
|
|
and support for dynamic linking on platforms using ARM EABI.
|
|
|
|
Please find more in-depth information in the detailed
|
|
[https:/documentation/release-notes/10.08 - release notes of version 10.08...].
|
|
|
|
|
|
Genode OS Framework release 10.05 | 2010-05-27
|
|
##############################################
|
|
|
|
| The new version 10.05 adds support for mandatory access-control policies,
|
|
| introduces audio playback, and improves the integration of the paravirtualized
|
|
| OKLinux kernel with the framework.
|
|
|
|
With the current release, we focused on functionality to broaden the
|
|
application area of the framework. The infrastructure of the framework has
|
|
advanced to a point that allows running a steadily growing number of typical
|
|
general-purpose applications directly on Genode. This is best illustrated by
|
|
the fully functional Arora web browser running as a native Genode process.
|
|
Still, there are a large number of usage scenarios that rely on Linux
|
|
applications. For this reason, we further improved the integration of the
|
|
paravirtualized OKLinux kernel with Genode. The new version adds support for
|
|
seamlessly integrating the X Window System running on OKLinux with the native
|
|
nitpicker GUI. For Genode developers, there is a new build system, which
|
|
significantly improves the build performance on multi-processor systems.
|
|
|
|
Read on about these and many more improvements detailed in the
|
|
[https:/documentation/release-notes/10.05 - release notes of version 10.05...]
|
|
|
|
|
|
Adaptation to Codezero kernel v0.3 | 2010-04-06
|
|
###############################################
|
|
|
|
| The just released version 0.3 of the Codezero kernel adds support for the
|
|
| latest ARMv7 CPUs. The Genode OS Framework is now ready to be used with this
|
|
| new kernel version.
|
|
|
|
Since version 10.02, the Genode OS Framework officially supports the version
|
|
0.2 of the [http://l4dev.org - Codezero microkernel] developed by
|
|
[http://b-labs.com - B-Labs]. The road map of this kernel promised
|
|
support for the latest ARM CPU cores. With the just released version 0.3, which
|
|
added support for ARMv7 CPU cores, the project lives up to this promise. In
|
|
addition to the extended CPU support, the new release adds important
|
|
functionality regarding device I/O, which prompted us to adapt Genode to the
|
|
new version. The adaptation to Codezero version 0.3 is now available at our
|
|
Subversion repository. To facilitate the use of Genode with Codezero, we
|
|
created a dedicated [https:/community/wiki/GenodeOnCodezero - Wiki page],
|
|
which provides up-to-date documentation about building and using Genode on this
|
|
kernel.
|
|
|
|
Thanks to the Codezero developers for being extremely responsive to our
|
|
questions and feature requests!
|
|
|
|
Learn more about
|
|
[https:/community/wiki/GenodeOnCodezero - using Genode with Codezero...]
|
|
|
|
|
|
|
|
Genode OS Framework release 10.02 | 2010-02-24
|
|
##############################################
|
|
|
|
| Among a variety of platform-related improvements, the release 10.02 adds
|
|
| support for the NOVA and Codezero kernels and introduces a new concept for
|
|
| managing real-time priorities.
|
|
|
|
Succeeding the previous feature-rich release, the Genode project took the
|
|
chance to focus on extending the base-platform support of the framework. We are
|
|
happy to report that we were able to complement the already broad range of
|
|
supported kernels by two new modern microkernels namely NOVA and Codezero, both
|
|
first released in 2009. Thereby, Genode provides a unified user-level
|
|
infrastructure that runs directly on those kernels as well as on Linux (32 bit
|
|
and 64 bit), OKL4v2 (x86 and ARMv4), L4/Fiasco, and L4ka::Pistachio. For
|
|
developers creating microkernel-based applications, the framework hides the
|
|
intricacies of the respective kernel. But it also strives to make the unique
|
|
capabilities of each base platform accessible to the user. For example, with
|
|
the new release, we made the real-time scheduling of OKL4 and L4ka::Pistachio
|
|
available to Genode applications.
|
|
|
|
Read on the full story about our experiences with the new kernels and the many
|
|
[https:/documentation/release-notes/10.02 - improvements of the release 10.02...]
|
|
|
|
[https:/download/latest-release - Download the latest release...]
|
|
|
|
|
|
Road map 2010 | 2010-01-04
|
|
##########################
|
|
|
|
| We have updated our road map with the planning of the year 2010.
|
|
|
|
With the start of the new year, its time to pause for a moment, looking back
|
|
the progress we made during 2009, and planning the next steps. The overall
|
|
theme of 2009 was the creation of fundamental base functionality to make the
|
|
framework usable for practical applications. We are proud when revisiting the
|
|
long list of achievements introduced with the four releases of the past year:
|
|
Support for the OKL4 and l4ka::Pistachio kernels, Linux device-driver
|
|
environment, networking, USB input and storage, dynamic linking, Qt4 including
|
|
Webkit, and support for a paravirtualized Linux kernel. With this strong
|
|
foundation in place, its time to raise the bar again.
|
|
|
|
[https:/about/road-map - Please read on about our updated road map for 2010...]
|
|
|
|
|
|
Genode OS Framework release 9.11 | 2009-11-25
|
|
#############################################
|
|
|
|
| With release 9.11 Genode gets Webkit, USB storage, TCP/IP stack, support for
|
|
| ARM, OKLinux and more ...
|
|
|
|
For the project, the current release is a major leap towards the goal of Genode
|
|
to become a general-purpose OS platform. The addition of OKLinux - a
|
|
paravirtualized Linux kernel - to the distribution makes it possible to run
|
|
security-sensitive native Genode applications side by side with unmodified
|
|
Linux binaries. This particular version of Linux has no direct hardware access
|
|
but rather uses native Genode services as virtual hardware devices. With
|
|
respect to available device classes, we extended Genode's support to cover USB
|
|
storage and networking drivers. Moreover, the porting of the Light-weight IP
|
|
stack and Q4/Webkit now enables developers to create web applications on top of
|
|
Genode. Beside the new functionality, Genode's platform scope was broadened by
|
|
initial support of the ARM architecture.
|
|
|
|
Read on about these and all additional changes in more detail in the
|
|
[https:/documentation/release-notes/9.11 - release notes for Genode 9.11...].
|
|
|
|
|
|
Genode Live Demonstration 2009-09 | 2009-09-02
|
|
##############################################
|
|
|
|
| The latest release of the ready-to-boot Live CD image is available.
|
|
|
|
The Live CD features the graphical demonstration of the Genode architecture,
|
|
known from the last Live CD. But this time it doesn't run on L4/Fiasco only. It
|
|
also can be started on top of the L4 microkernels OKL4 and Pistachio. Moreover,
|
|
it features QT4 application support and a para-virtualized Linux version
|
|
running on top of Genode. The Live CD runs directly on PC hardware and has been
|
|
tested on Qemu/KVM and VirtualBox.
|
|
|
|
_Edit: We have further improved the performance of the L4/Fiasco and_
|
|
_L4ka::Pistachio demos, and refined the presentation of the Qt4 demo._
|
|
|
|
[https:/download/live-cds - Download the updated Live-CD image...]
|
|
|
|
|
|
Genode OS Framework release 9.08 | 2009-08-19
|
|
#############################################
|
|
|
|
| The release 9.08 advances the portability of the operating-system framework
|
|
| to a new level.
|
|
|
|
We have released the version 9.08 of the Genode OS Framework. The general theme
|
|
of this release has been refinement. We are particularly happy for having
|
|
resolved long standing concerns about our locking and signalling
|
|
implementations. The actual focus of our work during the last three months was
|
|
the unification of all supported base platforms resulting in many
|
|
generalizations of former platform-specific code. We managed to bring the code
|
|
for the Linux version very much in line with the supported L4 platforms,
|
|
reducing platform-specific source-code complexity and maintenance costs.
|
|
Feature-wise, the most important news are the port of the dynamic linker from
|
|
FreeBSD, the added support for thread-local storage, a much improved timer
|
|
service, and core extensions for running Linux on the OKL4 version of Genode.
|
|
|
|
Read on about all the changes in the
|
|
[https:/documentation/release-notes/9.08 - release notes for Genode 9.08...]
|
|
|
|
|
|
Document about Genode's native Qt4 port available | 2009-07-06
|
|
##############################################################
|
|
|
|
| The document "Portierung von Qt auf Genode" (german) describes the
|
|
| undertaking of making the Qt4 framework natively available on Genode. Among
|
|
| many technical insights, it provides an overview about the integration with
|
|
| Genode's GUI, and explains how Qt4's low-level interfaces are mapped to
|
|
| native Genode functionality.
|
|
|
|
Qt4 is a popular and versatile C++ framework for developing
|
|
platform-independent GUI applications. In addition to GUI-related
|
|
functionality, Qt4 covers a comprehensive library of data structures and
|
|
platform abstractions. It is widely used for both commercial and open-source
|
|
applications, most prominently, it serves as the foundation of the KDE project.
|
|
|
|
Since the release 9.05, the official distribution of Genode supports Qt4 as a
|
|
regular feature. The document "Portierung von Qt auf Genode" _(german)_
|
|
describes the challenging endeavor of porting this high-complexity C++
|
|
framework to Genode. Major problems to overcome had been the missing C libary
|
|
(at the time when the project started), the integration of the Qt4 project
|
|
files with Genode's build system, the adaption of Qt4 to the basic primitives
|
|
provided by Genode, and the integration of Qt4 with Genode's GUI. In addition
|
|
to the mentioned technical insights, the document evaluates the achieved
|
|
solution with respect to compatibility and maintainability.
|
|
|
|
[https://www.genode-labs.com/publications/qt4-on-genode-de-2009.pdf - Download the PDF...]
|
|
|
|
|
|
Genode OS Framework release 9.05 | 2009-05-27
|
|
#############################################
|
|
|
|
| With the release 9.05, we introduce the first fragments of USB support,
|
|
| update Qt to version 4.5.1, and add the OKL4 kernel as supported base
|
|
| platform.
|
|
|
|
The new release continues the general theme to enhance our potential user base
|
|
by broadening the base-platform support and, at the same time, extending the
|
|
functionality of the framework. We have now added the OKL4 kernel to the
|
|
supported base platforms. OKL4 is a commercial-grade kernel developed by
|
|
[http://www.ok-labs.com - Open Kernel Labs] and primarily targeted at embedded
|
|
systems. Along with this integration work, we were able to further advance the
|
|
portability of Genode by generalizing much of former platform-dependent code.
|
|
On the feature side, we introduced the first parts of a USB stack, making
|
|
Linux' USB host-controller drivers and a human-interface device driver
|
|
available on Genode. As outlined in the release notes, there is also good
|
|
progress on executing Linux as a sub system of Genode. Furthermore, we have now
|
|
seamlessly integrated the support for the Qt application framework into the
|
|
Genode source tree and bumped the version to 4.5.1.
|
|
|
|
Read on about the new features described int the
|
|
[https:/documentation/release-notes/9.05 - release notes...]
|
|
|
|
[https:/download/latest-release - Download the release 9.05...]
|
|
|
|
[https:/about/road-map - See our updated road map...]
|
|
|
|
|
|
Bringing Genode to the OKL4 kernel | 2009-05-06
|
|
###############################################
|
|
|
|
| We have enhanced the range of supported kernel platforms by bringing Genode
|
|
| to the OKL4 kernel developed by Open Kernel Labs.
|
|
|
|
With the port of Genode to the OKL4 kernel, we have taken another step to reach
|
|
a broader user base of the framework. In contrast to the already
|
|
supported microkernels L4ka::Pistachio and L4/Fiasco, the OKL4 kernel developed
|
|
by [http://ok-labs.com - Open Kernel Labs] is largely deployed in commercial
|
|
settings. Even though being a member of the L4 family of kernels, OKL4 has a
|
|
much modernized kernel API that fits quite well with the Genode architecture.
|
|
For example, OKL4 does not rely on an in-kernel mapping database, frees the IPC
|
|
operation from wall-clock timeouts, supports asynchronous notifications, and
|
|
provides kernel support for user-level synchronization.
|
|
|
|
In the process of porting Genode to OKL4 version 2.1, we took the chance of
|
|
generalizing a lot of former L4-specific code such that the remaining
|
|
platform-specific code is now in the order of less than 2,000 lines of code for
|
|
each kernel platform. To ease future ports of the frameworks to other kernels,
|
|
we have documented our work in detail. If you are interested in learning more
|
|
about the OKL4 kernel from our perspective, or if you like to dive right into
|
|
the inner parts of the Genode OS Framework, read on about
|
|
[https:/documentation/articles/genode-on-okl4 - Bringing the Genode OS Framework to the OKL4 kernel...]
|
|
|
|
The OKL4 version is available at our subversion repository and will be included
|
|
in the upcoming release 9.05. For further information about building and using
|
|
Genode on OKL4, please refer to the new
|
|
[https:/community/wiki/GenodeOnOKL4 - Genode on OKL4 Wiki page...]
|
|
|
|
|
|
Genode on 64-bit Linux kernels | 2009-04-17
|
|
###########################################
|
|
|
|
| Genode can now use both 32-bit as well as 64-bit versions of the Linux kernel
|
|
| as base platform.
|
|
|
|
From the ground up, Genode was co-developed supporting Linux and L4 as base
|
|
platforms but the both versions were restricted to the 32-bit x86 architecture.
|
|
We have now expanded the Linux support to 64 bit. Because most of the adaptions
|
|
of Genode to 64 bit took place in generic code, we are now well prepared to
|
|
support future 64-bit versions of L4 kernels as well. The patch for adding 64
|
|
bit support supplied by Christian Prochaska is now included in the current
|
|
version of the Genode subversion repository.
|
|
|
|
[https:/download/subversion-repository - Access the Genode subversion repository...]
|
|
|
|
|
|
Christian Prochaska joins our project as regular developer | 2009-04-08
|
|
#######################################################################
|
|
|
|
| The developer of the Qt4 port for Genode joins Genode Labs to bring forward
|
|
| his Genode-related projects.
|
|
|
|
As the original developer of the Qt4 port for Genode, Christian Proachaska has
|
|
gained long-time experience with running complex software on top of Genode. In
|
|
the future, he will leverage his skills to further advance his Qt4-related
|
|
work. Furthermore, he strives to improve the framework towards general-purpose
|
|
computing. Currently, he is working on adding 64-bit support to Genode.
|
|
|
|
|
|
Genode OS Framework release 9.02 | 2009-02-26
|
|
#############################################
|
|
|
|
| The version 9.02 of the Genode OS Framework introduces support for
|
|
| L4ka::Pistachio as base platform, a port of the Qt4 application framework,
|
|
| and networking.
|
|
|
|
Whereas the focus of the previous release 8.11 was the refinement of Genode's
|
|
base API and the creation of the infrastructure needed to build real-world
|
|
applications, the new release 9.02 is focused on functional enhancements in two
|
|
directions. The first direction is broadening the number of possible base
|
|
platforms for the framework. At present, most microkernels bring along a custom
|
|
user land, which is closely tied to the particular kernel. Our vision is to
|
|
establish Genode as a common ground for developing applications, protocol
|
|
stacks, and device drivers in such a way that the software becomes easily
|
|
portable among different kernels. This release makes Genode available on the
|
|
L4ka::Pistachio kernel. Hence, software developed with the Genode API can now
|
|
run unmodified on Linux/x86, L4/Fiasco, and L4ka::Pistachio. In the second
|
|
direction, we are steadily advancing the functionality available on top of
|
|
Genode. With this release, we introduce a basic networking facility and support
|
|
for native Qt4 applications as major new features. Thanks to Genode's
|
|
portability, these features become automatically available on all supported
|
|
base platforms.
|
|
|
|
Read on about the new features described in the
|
|
[https:/documentation/release-notes/9.02 - release notes...]
|
|
|
|
[https:/download/latest-release - Download the Genode release 9.02...]
|
|
|
|
|
|
Port of libSDL to Genode | 2009-01-23
|
|
#####################################
|
|
|
|
| As announced on the Genode mailing list, the popular Simple Directmedia
|
|
| Library is being ported to Genode. A first version of the port and a demo
|
|
| application are already available.
|
|
|
|
The [http://www.libsdl.org - Simple Directmedia Layer library] (libSDL) is a
|
|
very popular cross-platform media library that provides hardware abstractions
|
|
for graphics, input devices, and sound. It is often used as back end for games,
|
|
emulators, and media players. Also the Linux version of Genode relies on the
|
|
hardware abstractions provided by libSDL.
|
|
|
|
As [http://sourceforge.net/mailarchive/message.php?msg_id=21406424 - announced on the Genode mailing list],
|
|
libSDL has been ported to Genode. At the current stage, the port supports
|
|
the video subsystem and the input handling for mouse and keyboard. With
|
|
libSDL now becoming available for Genode, it becomes much easier to make the
|
|
wealth of libSDL-based applications available on our platform.
|
|
|
|
[http://sourceforge.net/mailarchive/message.php?msg_id=21406424 - Read the announcement...]
|
|
|
|
|
|
Genode on the L4ka::Pistachio kernel | 2008-12-18
|
|
#################################################
|
|
|
|
| The new L4ka::Pistachio version of the Genode OS Framework makes the unique
|
|
| features, performance, and stability of the L4::Pistachio kernel available
|
|
| for Genode's software stack.
|
|
|
|
L4ka::Pistachio is the reference implementation of the L4 API version x.2 (also
|
|
referred to as version 4). With the port of Genode to L4ka::Pistachio conducted
|
|
by Julian Stecklina, this kernel has become available as a base platform for
|
|
Genode. The choice of leveraging the special characteristics of
|
|
L4ka::Pistachio, the Linux kernel, or L4/Fiasco has become just a matter of
|
|
recompilation. This way, software written against the Genode API can benefit
|
|
from the long-year research and development invested into L4ka::Pistachio by
|
|
the L4ka group at the University of Karlsruhe and the DiSy group at the
|
|
University of New South Wales. We have made the L4ka::Pistachio version of
|
|
Genode available at our public subversion repository. It will become a regular
|
|
part of Genode with the upcoming release as scheduled for February. The
|
|
instructions for building and using Genode with the L4ka::Pistachio kernel are
|
|
provided at our Genode-on-L4ka::Pistachio wiki page.
|
|
|
|
[https:/community/wiki/GenodeOnL4kaPistachio">Learn more about Genode on L4ka::Pistachio...]
|
|
|
|
|
|
Public bug tracker available | 2008-12-12
|
|
#########################################
|
|
|
|
| Because we received several requests for a public bug tracker, we have now
|
|
| enabled the public tracker of our Sourceforge project.
|
|
|
|
With the new bug tracker, we want to simplify the sharing and solving of issues
|
|
related to Genode in a coordinated fashion. If you discover things you like to
|
|
see improved in our code or documentation, please do not hesitate to share your
|
|
experiences and ideas by posting a bug. [https:/community - Community resources...]
|
|
|
|
|
|
Genode OS Framework release 8.11 | 2008-11-21
|
|
#############################################
|
|
|
|
| We are pleased to announce the release 8.11 of the Genode OS Framework
|
|
| introducing a new device-driver API, a C runtime, support for asynchronous
|
|
| notifications, and many improvements of the base API.
|
|
|
|
With the new release 8.11, we are aiming at enabling Genode for real-world
|
|
applications that require custom device drivers and the reuse of existing
|
|
code. Among the major improvements are a new device driver API that eases
|
|
the reuse of existing device drivers and a C runtime that facilitates the reuse
|
|
of a wealth of existing C library code on Genode. Furthermore, we extended the
|
|
base API by a number of exciting feature such as support for asynchronous
|
|
notifications, capability typification, and managed dataspaces.
|
|
|
|
Learn more about all the new features and changes described in our comprehensive
|
|
[https:/documentation/release-notes/8.11 - release notes...]
|
|
|
|
[https:/download/latest-release - Download the release 8.11 of the Genode OS Framework...]
|
|
|
|
|
|
Ready-to-boot Live-CD image available | 2008-10-21
|
|
##################################################
|
|
|
|
| As a teaser for the upcoming release 8.11, we have compiled a Live-CD image
|
|
| showing off the current state of the Genode OS Framework.
|
|
|
|
The Live CD features a fully graphical demonstration that presents the
|
|
fundamental concepts of the Genode architecture in an interactive fashion. It
|
|
runs directly on PC hardware and has been tested on Qemu and VirtualBox.
|
|
[https:/download/live-cds - Download the Live-CD image...]
|
|
|
|
|
|
New and exciting challenges ahead | 2008-09-19
|
|
##############################################
|
|
|
|
| To foster the involvement of developers interested in working on Genode, we
|
|
| have enhanced the compilation of future challenges in our Wiki by a number of
|
|
| interesting Genode-related projects to pursue.
|
|
|
|
The Genode architecture inspires a large number of topics for research,
|
|
experimentation, and development. The
|
|
[https:/community/wiki/Challenges - challenges section of our Wiki] compiles a
|
|
number of existing ideas. We have now enhanced this compilation by a number of
|
|
further avenues that we find interesting to explore. For example, exploring
|
|
Linux process containers, running Genode on FPGA platforms, dynamic linking
|
|
support, de-privileging VESA, optimizing locking performance, and the port of
|
|
libSDL. Maybe some of you find these topics as thrilling as we do? If yes,
|
|
please feel welcome to pick up the ideas to start experimenting with Genode.
|
|
|
|
|
|
The Genode build system thoroughly examined | 2008-08-22
|
|
########################################################
|
|
|
|
| In his paper "Empirical Comparison of SCons and GNU Make", Ludwig Hähne
|
|
| pursues the question of which build system to choose for an operating-system
|
|
| project such as ours. For his study, he took the Genode build system as a
|
|
| real-world use case. His results are not only valuable for our particular
|
|
| project but for everyone with an interest in build systems.
|
|
|
|
For the Genode OS Framework, we consider flexibility, usability, reliability,
|
|
and scalability of the build infrastructure is crucial. When we started
|
|
project, we created a custom build infrastructure with a particular focus on
|
|
developer convenience. The effort already paid off for our daily work. The
|
|
current implementation relies on GNU Make as back end but we are aware that
|
|
there exist more modern approaches for building software, in particular there
|
|
is SCons. In his paper, Ludwig Hähne used the Genode build system as a use case
|
|
to compare SCons and GNU Make. He replicated our build system for the use of
|
|
SCons as back end and conducted comprehensive experiments. The empirical
|
|
results presented in the paper reveal a number of interesting issues, for
|
|
example the limited scalability of the current Genode build system with regard
|
|
to parallelism, and the memory consumption of SCons when used for large
|
|
projects.
|
|
[https://www.genode-labs.com/publications/scons-vs-make-2008.pdf - Download the PDF document...]
|
|
|
|
|
|
Genode ported to Syllable Server OS | 2008-08-22
|
|
################################################
|
|
|
|
| The developers of the Syllable OS project have ported Genode to the
|
|
| Linux-based server version of Syllable OS.
|
|
|
|
Syllable is a fully fledged free-software operating system that is mainly
|
|
targeted at desktop computers. Thanks to its long-year steady development,
|
|
there exists a large base of custom applications. As announced on the
|
|
[http://development.syllable.org/pages/index.html - website of the Syllable OS project],
|
|
Genode has been ported to the server version of Syllable OS. Kaj de Vos of the
|
|
Syllable project also considers the incorporation of Genode into the desktop
|
|
version of Syllable, which would be a very interesting synergy.
|
|
|
|
|
|
Genode OS Framework release 8.08 | 2008-08-06
|
|
#############################################
|
|
|
|
| We released the first official version of the Genode OS Framework.
|
|
|
|
The initial version of the Genode OS Framework is available for download. For
|
|
naming our releases, we use the Ubuntu version-number scheme, which takes the
|
|
year as the major number and the month as minor number. Hence, the release is
|
|
called 8.08. It contains everything needed to execute an interactive graphical
|
|
demonstration scenario on Linux via libSDL or alternatively via L4/Fiasco on
|
|
bare PC hardware.
|
|
[https:/download/latest-release - Download the latest release...]
|
|
|
|
|
|
Project website launched | 2008-07-29
|
|
#####################################
|
|
|
|
| The launch of our comprehensive project website genode.org marks the begin of
|
|
| our effort to turn Genode into a community project. The initial release of the
|
|
| Genode OS framework is scheduled for the 6th of August.
|
|
|
|
Today, we proudly launched the website of the Genode project
|
|
[https://www.genode.org - https://www.genode.org]. This website is the central
|
|
resource for people using or developing the Genode OS framework. It covers
|
|
the latest news about our progress, architectural and technical documentation,
|
|
a community-maintained wiki, mailing lists, information on accessing the
|
|
source-code, and much more. We sincerely hope that this website will draw the
|
|
attention of people who want bring forward the project together with us.
|
|
|
|
We have scheduled the first official release of the Genode OS framework for the
|
|
6th August. Until then, we invite you to test-drive the beta-version of the
|
|
framework as provided at the [https://www.genode.org/download - download].
|
|
|
|
|
|
Genode Labs founded | 2008-07-17
|
|
################################
|
|
|
|
| The original authors of the Genode OS Framework start a company dedicated to
|
|
| promoting and advancing Genode.
|
|
|
|
At 15th of May, the two former PhD students of the TU Dresden Operating Systems
|
|
group who developed the original vision behind the Genode architecture and who
|
|
created the present implementation of the Genode OS Framework started their
|
|
company Genode Labs. Genode Labs is committed to bring forward their novel OS
|
|
technology as a community project and to facilitate its application to
|
|
real-world problems.
|
|
|
|
|