Genode OS Framework release 22.08 Aug 31, 2022

The overarching theme of Genode 22.08 is the emerging phone variant of Sculpt OS, touching topics as diverse as USB ECM, Mali-400 GPU, SD-card access, telephony, mobile-data connectivity, the Morph web browser, and a custom user interface. Among the further highlights are new tracing tools, improved network performance USB smart-card support, and VirtIO drivers for RISC-V.

The vision of a Genode-based smart phone is certainly our most ambitious undertaking since we created Sculpt OS for the PC. Over the past two years, we relentlessly pursued this vision while targeting the PinePhone hardware. The scope of work reaches from custom firmware for the system-control processor, over kernel development, a staggering variety of device drivers, to the user-interface and application level. With Genode 22.08, those efforts culminate in a first complete system - a phone variant of Sculpt OS. The release documentation tells the story behind this line of work in great detail.

Beside phone-related topics, the new release features new tooling for gathering and analyzing system traces that allow for holistic performance studies covering the interplay between components. One particular success story of the new trace recorder is a profoundly improved network performance. Further highlights are the support for USB smart cards via PKCS#11, VirtIO drivers for RISC-V, and the update of Qt5 to version 5.15.2.

For the complete picture, please enjoy the official release documentation of version 22.08...

Genode OS Framework release 22.05 May 31, 2022

The highlights of Genode 22.05 are the new support for WireGuard virtual private networks and a fresh lineup of PC device drivers. Further topics are basic telephony with the PinePhone and dynamic device management on Xilinx Zynq.

Version 22.05 closely adheres the goals as set forth in our roadmap. In particular, the envisioned support of WireGuard VPNs came to fruition in the form of a dedicated VPN component based on the Linux implementation of the WireGuard protocol. Thanks to this component, the network access of Genode systems like Sculpt OS can now be protected using state-of-the-art VPN security.

The second prominent topic is the new lineup of PC device drivers, which had been developed using Genode's novel Linux device-driver environment that allows the reuse of Linux kernel subsystems as individually sandboxed Genode components. The work comprises complex drivers like the wireless LAN stack including Intel's Wifi driver and the latest Intel display driver. The revamped drivers not only bring the modern feature set of the respective Linux 5.14.21 subsystems to Genode, but they also validate the efficiency of the new porting approach.

The vision of a Genode-based smartphone appears as a recurring topic throughout the year, with the current release not being an exception. Three achievements stand out. First, Genode gained the principle ability to issue and receive voice calls with the PinePhone. Second, in anticipation of sophisticated energy-management, the release introduces a Genode-specific custom firmware for the PinePhone's system-control processor. And third, it is accompanied with the second revision of the Genode Platforms document that covers the porting process of Genode to a mobile platform in a tutorial of over 200 pages.

Besides those prominent topics, the release comes with numerous framework improvements, reaching from a forthcoming new PC platform driver, over performance optimizations and usability refinements, to dynamic device management on FPGA-based Xilinx Zynq devices.

Discover these and more topics of the new version in the official release documentation of version 22.05...

Genode SoC porting guide May 25, 2022

In the second revision of the Genode Platforms document, Genode Labs shares its former in-house expertise about moving Genode to new hardware devices.

If you ever wondered how to make sense of highly-complex ARM SoCs without accurate public documentation, what it takes to bring a modern microkernel from one SoC to another, how to transplant and re-animate individual Linux kernel subsystems into sandboxed user-level components, or how to craft a custom bare-bones operating system out of Genode's components, the new revision of the Genode Platforms document is for you.

Genode Platforms 22.05 (PDF)

During the past two years, Genode developer Norman Feske captured his practical experience with enabling Genode on a new hardware platform, namely the PinePhone.

The process starts with basics like executing tiny bits of custom code, and continues with the porting of the microkernel, creating work flows for testing and packaging, and bringing up the Genode user land.

With those fundamentals covered, the main part is concerned with the complexities of driving the device hardware of modern SoCs, ranging from low-level pin controls, over networking, up to driving sophisticated devices like the display and touch screen. For the latter, the ability of reusing device drivers from the Linux kernel plays a crucial role. Hence, the guide presents Genode's practical methodology and tooling behind the black art of transplanting and reanimating unmodified Linux kernel code into Genode components. Along the way, there are countless little tips and tricks that help to turn low-level grunt work into a fun and worthwhile experience.

The document closes with a glimpse at real-world scenarios, culminating in the setup of the modem and the routing of audio signals to issue voice calls.

Sculpt OS release 22.04 Apr 28, 2022

Sculpt OS version 22.04 introduces the concept of service-level sandboxing and features completely new drivers for wireless, graphics, and USB.

On the user-visible surface, the new version of Sculpt OS looks and feels familiar to users of the previous version. Under the hood, however, at the nitty-gritty hardware-support level, it features completely revamped device drivers for Intel wireless, Intel graphics, and USB.

In a major surgery, the new drivers got transplanted from the Linux kernel version 5.14.21 using Genode's unique DDE approach. In contrast to Linux where the drivers are part of the almighty operating-system kernel, Sculpt OS hosts each of the drivers in a dedicated sandbox as plain user-level component. So Sculpt users can enjoy the broad hardware support of up-to-date Linux drivers without ultimately trusting those staggeringly complex driver stacks.

Closely related, the support of hardware-accelerated graphics that we introduced with the previous version 21.10 received substantial optimization and stabilization. With the new version, Sculpt users can not only run native OpenGL applications but can even go as far as using hardware-accelerated graphics via guest operating systems hosted within VirtualBox on top of Sculpt.

Being a component-based operating system following the principle of least privilege, Sculpt OS gives users ultimate control over the system resources exposed to each component. The new version equips the user with additional means to exercise control over the deployed software: A new optional component called black hole can now be used as placeholder for various system resources when deploying an application. For example, a virtual machine can be shielded from the network by connecting its network traffic to the black hole. This also works for audio, video capturing, USB, and other commonly used system resources. As this mechanism works at the level of individual services, the documentation refers to it as service-level sandboxing, resembling a poster-child for the natural power of capability-based security.

Sculpt OS 22.04 is available as ready-to-use system image at the Sculpt download page and is accompanied with updated documentation.

Genode OS Framework release 22.02 Feb 28, 2022

With Genode 22.02, 3D acceleration becomes available to guest operating systems running in VirtualBox 6, Sculpt OS evolves into a versatile framework for building special-purpose operating systems, and Genode starts to interact with the modem of the PinePhone.

The features mentioned above are merely the tip of the iceberg of version 22.02. In fact, the majority of the development work during the release cycle was focused on topics beyond the visible surface, ranging from the reorganization of the code base for streamlining the targeting of new hardware, over the tightening of foundational framework APIs, to the raising of the default warning level used when building genuine Genode components. Over the course of this infrastructural work, almost no component was left unturned.

Functionality-wise, improvements of the Genode-based Sculpt OS are at the center stage of the release. Originally pursued with the vision of a Genode-based general-purpose OS that is fit for day-to-day use on commodity PC hardware, the current release lifts the potential of Sculpt's architecture for the creation of special-purpose operating-system appliances. The gained flexibility took even us developers by surprise! Thanks to the new modular approach, we were able to demonstrate a bare-bones version of Sculpt OS on the PinePhone at FOSDEM, or accelerate our development workflow by routinely running Sculpt OS directly on the Linux kernel.

The intensive device-driver-related developments of the previous releases continued as well. This time, we took our new approach for running Linux drivers in Genode to PC hardware, starting with a fresh port of the USB host controller driver. The Intel GPU driver received numerous performance improvements and can now even be combined with guest operating systems running in VirtualBox 6. Further notable driver-related improvements are the new ability to interact with the modem on the PinePhone and largely streamlined driver infrastructure for the Raspberry Pi.

All the details of the new version can be found in the release documentation of version 22.02...

Road Map for 2022 Jan 18, 2022

Our plans for 2022 envision the use of Genode for advanced mobile use cases such as video chat.

Following Genode's major technical breakthroughs in the areas of reusing Linux drivers, hardware-accelerated graphics, and the native execution of Chromium during 2021, we will pursue mobile usability as overarching theme in 2022. Specifically, we aspire the routine use of Genode on the PinePhone as a platform for video chat, using WireGuard to protect the communications.

This vision motivates a large variety of challenging technical topics. To name a few, we have to squeeze good performance out of the resource-constrained PinePhone hardware, focus on UI latency and the quality of service of audio streaming, come up with a somewhat usable touch-based user interface, and get to the guts of power management.

Aside this guiding theme, we put a broad update of our PC drivers on our agenda so that Sculpt OS remains a suitable basis for our day-to-day computing needs on recent generations of Intel hardware. As an additional line of development, we are excited to intensify the combination of Genode with reconfigurable hardware.

More information about our review of the past year, this year's focus, and a rough schedule are presented at our official road-map page.