mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-24 07:46:42 +00:00
4343 lines
218 KiB
Plaintext
4343 lines
218 KiB
Plaintext
|
|
===========
|
|
Genode News
|
|
===========
|
|
|
|
|
|
Genode OS Framework release 24.08 | 2024-08-29
|
|
##############################################
|
|
|
|
| Genode 24.08 introduces the Qt6 application framework, updates all
|
|
| Linux-based components and PC device drivers to Linux version 6.6.47,
|
|
| equips the Goa SDK with remote debugging support, modernizes the base
|
|
| and GUI interfaces of the framework, extends the board support for
|
|
| i.MX-based devices, and explores AVX on x86.
|
|
|
|
The highlights of Genode 24.08 are the addition of the Qt6 application
|
|
framework in addition to the time-tested Qt5 and the major update of all
|
|
Linux-based components and PC device drivers. So Genode users can enjoy
|
|
current-generation commodity software and drivers across all kernels supported
|
|
by the framework.
|
|
|
|
For developers, the new combination of Genode's recent advances in
|
|
on-target debugging with the Goa SDK enables seamless remote debugging.
|
|
|
|
Regarding hardware support, the new version broadens the driver landscape for
|
|
NXP i.MX-based devices, paving the way for Sculpt OS on the
|
|
[https://shop.mntre.com/products/mnt-pocket-reform - MNT Pocket Reform]
|
|
open-source hardware laptop.
|
|
|
|
For the full picture, please refer to the
|
|
[https:/documentation/release-notes/24.08 - release documentation of version 24.08...]
|
|
|
|
|
|
New community forum at Discourse | 2024-08-13
|
|
#############################################
|
|
|
|
| Our new community forum is organized by Genode users to share ideas
|
|
| and experiences, help newcomers, and discuss Genode-related projects.
|
|
|
|
The new forum complements the existing
|
|
[http:/community/mailing-lists - mailing list] and
|
|
[https://github.com/genodelabs/genode - issue tracker]
|
|
with a place for casual conversation among newcomers, seasoned users,
|
|
and developers.
|
|
|
|
[https://genode.discourse.group]
|
|
|
|
As the forum is a place for users, it is moderated by users. Thanks a lot
|
|
to Spencer and Cedric for constituting the initial moderation team!
|
|
|
|
|
|
Meet us at FroSCon during August 17-18 | 2024-07-30
|
|
###################################################
|
|
|
|
| The Genode project will host a booth at this year's Free
|
|
| and Open-Source Software Conference in Sankt Augustin.
|
|
|
|
Besides FOSDEM, public appearances of Genode are rather rare.
|
|
All the more delighted we are about the opportunity to host
|
|
a booth at the upcoming FrOScon conference.
|
|
|
|
*FrOScon Free and Open-Source Software Conference*
|
|
|
|
*August 18 and 17 in Sankt Augustin*
|
|
|
|
[https://froscon.org]
|
|
|
|
The Genode stand will be maintained by the Genode team members
|
|
Stefan Kalkowski, Johannes Schlatow, Christian Helmuth, and
|
|
Norman Feske. It goes without saying that we will have Sculpt
|
|
OS in various forms and flavors with us to showcase. Whether
|
|
you like to get acquainted with our project or touch base with
|
|
us developers in person, FrOScon might present the perfect
|
|
opportunity!
|
|
|
|
|
|
Genode OS Framework release 24.05 | 2024-05-30
|
|
##############################################
|
|
|
|
| The highlights of Genode 24.05 are the new ability to run Sculpt OS on
|
|
| our custom kernel, GDB on Sculpt OS, suspend/resume, the redesign of
|
|
| the framework's USB infrastructure, and the completed transition to
|
|
| the new audio interfaces. The release is accompanied with the annual
|
|
| update of the "Genode Foundations" book.
|
|
|
|
With Genode 24.05, the underpinnings of the many usability improvements
|
|
of the [https://genode.org/news/sculpt-os-release-24.04 - latest] Sculpt OS
|
|
release found their way into the framework. Among them are a completely
|
|
redesigned USB infrastructure that allows for fine-grained and dynamic
|
|
assignment of USB devices to components and virtual machines, the consistent
|
|
use of the audio facilities introduced in February, and the driver life-cycle
|
|
management for suspend/resume.
|
|
|
|
Beside those usability-related topics, two mile-stone achievements stand out.
|
|
First, we have realized our long-time vision of running Sculpt OS on our
|
|
custom kernel specifically designed for Genode. With Intel virtualization
|
|
support, the release delivers the final missing piece of this puzzle.
|
|
Second, our long-hedged dream of natural on-target debugging via the GNU
|
|
debugger running directly on Sculpt OS has become true. This feature, which
|
|
has been in the works for more than a year, enables Sculpt OS users to
|
|
leverage GDB for the development of applications, services, and even device
|
|
drivers.
|
|
|
|
The release is accompanied by a new version of the "Genode Foundations" book,
|
|
which is the go-to documentation of the framework.
|
|
Further topics of the current release range from timing and network-throughput
|
|
optimizations, over updated 3rd-party software like Mesa, libSDL2, and cURL,
|
|
to developer tooling. Find these among many more topics covered in the detailed
|
|
[https:/documentation/release-notes/24.05 - release documentation of version 24.05...]
|
|
|
|
|
|
Sculpt OS release 24.04 | 2024-04-26
|
|
####################################
|
|
|
|
| Sculpt OS 24.04 is rich of new user-visible features.
|
|
| It now supports 4K displays and I2C touchpads out of the box,
|
|
| brings experimental support for suspend/resume,
|
|
| allows the fine-grained assignment of USB devices to applications and VMs,
|
|
| and introduces new audio-mixing capabilities.
|
|
|
|
The release of version 24.04 adheres to
|
|
our [https://genode.org/about/road-map - declared] focus on Sculpt OS usability
|
|
during this year. Seasoned users will immediately recognize the new power of the
|
|
component-management UI, offering easy control over optional features,
|
|
software providers, and software installation. Among many little
|
|
user-interface improvements, the component graph and configuration interface
|
|
have become scrollable, boosting the interactive user experience.
|
|
|
|
When looking closely at the components, users will recognize a whole new set
|
|
of drivers neatly grouped under hardware. In contrast to earlier versions,
|
|
which operated these drivers hidden from the user, the new version manages the
|
|
drivers dynamically and fully transparent for the user. The change makes the
|
|
user interface more logical and simpler. However, the driving force behind this
|
|
approach
|
|
was our aspired support for suspend/resume, which requires the dynamic
|
|
life-cycle management of drivers. This brings us to the technical highlight of
|
|
the release: After on-and-off development for more than a year, we are more
|
|
than happy offering suspend/resume as an experimental feature.
|
|
|
|
As culmination of a second long-term development, version 24.04 employs a new
|
|
and much more flexible interplay between the USB-host driver and components
|
|
accessing USB devices. The dynamic assignment of devices to virtual machines
|
|
and other components has become a breeze.
|
|
|
|
Just in time for the release, Sculpt OS has received a completely overhauled
|
|
audio stack that supports pluggable drivers, arbitrary sample rates, and the
|
|
flexible routing and mixing of audio signals. We are eager to stress and
|
|
refine the taken approach over the upcoming release cycle to make low-latency
|
|
audio a commodity on Sculpt OS.
|
|
|
|
Thanks to our routine with running Sculpt OS on modern laptops day to day,
|
|
version 24.04 bumps the range of supported hardware. Displays up to 4K are
|
|
supported out of the box now, and touchpads of laptops like the Gen13 Framework
|
|
have become operational.
|
|
|
|
Speaking of developers, the release offers two bold new features targeted at
|
|
this specific demography, namely the support for on-target debugging via GDB,
|
|
and the ability to use Sculpt OS as a remote test target of Genode's Goa SDK.
|
|
Look out for more information about these features in the upcoming weeks
|
|
at [https://genodians.org].
|
|
|
|
Sculpt OS 24.04 is available as ready-to-use system image at the
|
|
[https://genode.org/download/sculpt - Sculpt download page] accompanied
|
|
with updated [https://genode.org/documentation/articles/sculpt-24-04 - documentation].
|
|
|
|
|
|
Genode OS Framework release 24.02 | 2024-02-29
|
|
##############################################
|
|
|
|
| Version 24.02 revisits Genode's audio support for latency-sensitive
|
|
| scenarios, flexible sample rates, and pluggable drivers. It also introduces
|
|
| the new ability of the Goa SDK to use Sculpt OS as remote test target,
|
|
| comes with a new TCP/IP stack based on Linux 6.1.20, makes drivers aware
|
|
| of suspend/resume, and improves HID event handling.
|
|
|
|
Genode 24.02 kicks off the year with a profound redesign of the framework's
|
|
audio infrastructure, addressing the routing and mixing of multi-channel audio
|
|
streams at flexible sample rates, the dynamic starting and removal of audio
|
|
sources and sinks, and latency optimization.
|
|
|
|
Besides audio, the second infrastructural rework is a new TCP/IP stack based
|
|
on DDE-Linux 6.1.20. It wraps up our long-year transition from a fairly
|
|
fragmented landscape of ported driver code to the consistent use of our modern
|
|
Linux device-driver environment across all Linux-based drivers and protocol
|
|
stacks.
|
|
|
|
The feature highlight of the release is the new ability of using Sculpt OS as
|
|
a remote test target for the Goa SDK during application development. Thanks
|
|
to this new feature, Genode applications can be developed and tested in a
|
|
quick and uniform way, whether testing directly on a Linux-based development
|
|
environment, or on a Sculpt PC reachable via a local network, or a PinePhone
|
|
connected to the same wireless access point.
|
|
|
|
Further highlights of the release are the versatile handling of human-interface
|
|
devices including the calibration of motion events, the use of Vivante GPUs by
|
|
multiple clients, and the driver-related preparatory steps needed for
|
|
implementing suspend/resume for Sculpt OS.
|
|
|
|
You can find the changes presented in full detail in the
|
|
[https:/documentation/release-notes/24.02 - release documentation of version 24.02...]
|
|
|
|
|
|
Road Map for 2024 | 2024-01-18
|
|
##############################
|
|
|
|
| After intensively concentrating on deeply technical topics below the surface
|
|
| in 2023, we are going to reap user-visible rewards in 2024 by focussing on
|
|
| Sculpt OS usability.
|
|
|
|
Thanks to the input gathered from our annual road-map discussion on Genode's
|
|
[https://genode.org/community/mailing-lists - mailing list], we have updated
|
|
the project [https://genode.org/about/road-map - road map] for 2024.
|
|
|
|
Without hesitation, our developer community quickly rallied behind the topic
|
|
"Sculpt OS usability", desiring to boost the user experience with respect to
|
|
multi-monitor usage, convenient interactive UIs for common tasks,
|
|
profound support for touchpads and touchscreens, tearing-free graphics,
|
|
low-latency audio, casual on-target debugging, and suspend/resume.
|
|
|
|
The focus on usability notwithstanding, we will steadily continue with the
|
|
gardening of Genode's driver landscape, fostering the consistent use of drivers
|
|
ported from up-to-date Linux kernels, clear-cut ACPI support, and making
|
|
drivers pluggable.
|
|
In 2024, we will also promote Genode's custom (base-hw) microkernel to become
|
|
the default kernel for Sculpt OS, which is the culmination of a multi-year
|
|
effort.
|
|
|
|
Please find our reflection of the past year and the complete plan for 2024
|
|
presented on Genode's official [https:/about/road-map - road-map page].
|
|
|
|
|
|
Genode OS Framework release 23.11 | 2023-11-30
|
|
##############################################
|
|
|
|
| Genode 23.11 moves the IOMMU driver from the kernel to the user land,
|
|
| introduces CPU power/temperature/frequency monitoring and steering,
|
|
| comes with a new API for low-complexity GUI applications, and
|
|
| streamlines the framework's virtualization interface. It also improves
|
|
| developer ergonomics and showcases the port of the Linphone VoIP stack.
|
|
|
|
Version 23.11 of the Genode OS Framework introduces DMA protection as
|
|
kernel-agnostic feature, parting with the tradition of driving I/O protection
|
|
units from the kernel. This radical move is accompanied by a sweeping
|
|
modernization of the framework's virtualization interface across kernels and
|
|
instruction-set architectures. In other words, the release is dominated by
|
|
deeply technical topics.
|
|
|
|
That said, it is not void of user-facing features either, as illustrated by
|
|
the new port of the Linphone VoIP stack using the Goa tool, the extension of
|
|
the Seoul virtual machine monitor to 64-bit guests, and the support for CPU
|
|
power/temperature/frequency monitoring and steering on PC platforms.
|
|
Furthermore, developers receive better tooling for the use and distribution of
|
|
debug builds, and will observe a welcomed boost of their development-test
|
|
cycles thanks to a largely streamlined build-system.
|
|
|
|
These and more topics are covered in full detail by the
|
|
[https:/documentation/release-notes/23.11 - release documentation of version 23.11...]
|
|
|
|
|
|
Sculpt OS release 23.10 | 2023-10-26
|
|
####################################
|
|
|
|
| Modern PCs provide plenty of metering and power-management options.
|
|
| Version 23.10 of the Genode-based Sculpt operating system makes these features
|
|
| available via an interactive user interface. One can watch the temperature
|
|
| of each CPU core, monitor the individual CPU frequencies, switch between
|
|
| power profiles, and reveal details about power draw.
|
|
|
|
Our official
|
|
[https://genode.org/documentation/articles/sculpt-23-10 - documentation]
|
|
introduces Sculpt as an operating system that puts the user in the position
|
|
of full control. With the new release, this promise is taken to the precise
|
|
control and monitoring of physical CPU parameters.
|
|
|
|
Besides restricting workloads to specific CPU cores, each individual core can
|
|
be interactively parametrized, e.g., by balancing performance against power
|
|
efficiency. The effects of changing these parameters become immediately
|
|
visible by the monitored frequencies, temperature, and power draw. The new
|
|
knobs add plenty of play value and an entirely new sense of control to the
|
|
user experience. You can find the new power-control feature described in a
|
|
[https://genodians.org/alex-ab/2023-10-23-msr - dedicated article].
|
|
|
|
The advanced power-control abilities are accompanied with generally improved
|
|
support for modern laptops. E.g., on the Framework Gen 12 laptop,
|
|
features like battery monitoring, keyboard backlight control, and external
|
|
displays just work now.
|
|
|
|
Like the previous release, Sculpt OS is available for both PCs and the
|
|
PinePhone. The PinePhone version received several usability improvements
|
|
motivated by the feedback we got from the Pine64 community. Most importantly,
|
|
a new screensaver reduces the power draw to less than 40%, making the device
|
|
more viable in practice.
|
|
Under the hood, Sculpt completely removes the drivers for the display and the
|
|
touchscreen while the screen is blanked. Those drivers are restarted when
|
|
pressing the power button. Furthermore, the volume buttons have become
|
|
functional, and the dial pad has become more flexible.
|
|
|
|
Beside the user-visible improvements, the underpinnings of Sculpt OS
|
|
received a number of improvements. The entire software is now consistently
|
|
built with GCC 12.3. The former iPXE-based network driver has been replaced
|
|
by driver code of the Linux kernel 6.1.20, which works nicely on modern
|
|
machines. The new version also introduces the principle mechanisms needed
|
|
for on-target debugging, switches to a much revised virtualization interface,
|
|
and replaces the block-encryption engine of the file vault. Users of the latter
|
|
should follow the documented
|
|
[https://genodians.org/m-stein/2023-10-25-file-vault-migration-1 - migration steps].
|
|
|
|
Sculpt OS 23.10 for PC and PinePhone is available as ready-to-use system image
|
|
at the [https://genode.org/download/sculpt - Sculpt download page] accompanied
|
|
with updated [https://genode.org/documentation/articles/sculpt-23-10 - documentation].
|
|
Seasoned Sculpt users can conveniently switch to the new version via the
|
|
system-update dialog.
|
|
|
|
|
|
Genode OS Framework release 23.08 | 2023-08-24
|
|
##############################################
|
|
|
|
| The main theme of the current release is tooling for developing, debugging,
|
|
| porting, and publishing Genode components. Beyond that, the release improves
|
|
| driver support and the internals of core and the base-framework.
|
|
|
|
The headline features of this release introduce a new multi-component debug
|
|
monitor and extend the Goa tool with support for working with multiple
|
|
projects.
|
|
|
|
The new debug monitor reapproaches Genode's GDB debugging support and sets
|
|
smooth on-target debugging in Sculpt OS as its final goal. The monitor can
|
|
transparently replace the Init component and is equipped with support for
|
|
multi-component debugging by GDB inferiors. The Goa tool evolves into an
|
|
all-encompassing alternative to Genode's traditional work flows for developing,
|
|
porting, and publishing applications. With this release, runtime testing with
|
|
Goa gets extremely flexible and handling of multiple Goa projects becomes a no
|
|
brainer.
|
|
|
|
Beside the tooling topics, we round out the release with a new PC NIC driver
|
|
based on Linux, new RaspberryPi/i.MX6 USB host-controller drivers,
|
|
hardware-button and screensaver support on the PinePhone, improved Intel
|
|
GPU/display, WiFi, and audio drivers.
|
|
|
|
Find all details of changes and improvements in the
|
|
[https:/documentation/release-notes/23.08 - release documentation of version 23.08...]
|
|
|
|
|
|
Genode OS Framework release 23.05 | 2023-05-31
|
|
##############################################
|
|
|
|
| Besides the annual documentation update, the scheduled tool-chain update,
|
|
| and the switch to C++20, the release puts the spotlight on the Goa tool,
|
|
| which enables the use of existing SDKs like Lomiri or Rust's cargo for
|
|
| targeting Genode.
|
|
|
|
By now, the dedication of Genode's May releases to housekeeping tasks has
|
|
become a fine tradition, and this year is no different. With version 23.05,
|
|
the framework consistently switches from the C++ standard C++17 to C++20,
|
|
thanks to our new tool chain based on GCC 12.3, which will serve us for the
|
|
next two years. Speaking of consistency, both Genode books "Foundations" and
|
|
"Platforms" have been updated to the most recent version of the framework. You
|
|
can find the PDFs at the [https://genode.org - genode.org front page].
|
|
|
|
Following the recent release of Sculpt OS 23.04 targeting both PC and mobile
|
|
platforms, Genode 23.05 brings good news for application developers interested
|
|
in targeting Genode and Sculpt OS in particular. The release introduces the
|
|
ability to use existing SDKs, in particular the Lomiri UI toolkit as well as
|
|
Rust's cargo for crafting Genode applications.
|
|
|
|
A prominent topic among the previous releases is our Linux device-driver
|
|
environment (DDE), which allows for the use of Linux drivers as Genode
|
|
components. The current release continues this line of work by upgrading DDE
|
|
to Linux 6.1.20 and by using DDE as enabler of our cross-platform Wifi stack
|
|
that works for the PC and ARM platforms like the PinePhone. This way, Genode
|
|
users can benefit from the enormous efforts of the Linux kernel community
|
|
targeting modern hardware.
|
|
|
|
Further highlights of the new version are the initial use of our custom
|
|
base-hw microkernel as x86 hypervisor, a profoundly reworked block-encryption
|
|
stack, and updates of supported 3rd-party software like the seL4 kernel and
|
|
VirtualBox.
|
|
|
|
All changes are covered in detail by the official
|
|
[https:/documentation/release-notes/23.05 - release documentation of version 23.05...]
|
|
|
|
|
|
Sculpt OS release 23.04 | 2023-04-28
|
|
####################################
|
|
|
|
| Sculpt OS 23.04 marks the first-time PinePhone support in addition to the PC
|
|
| version. With this release, the system supports live upgrades of the boot
|
|
| image, rendering Sculpt updates and the switching between versions a matter of
|
|
| some easy steps. The new preset feature brings entire application scenarios to
|
|
| your screen after just one click/tap.
|
|
|
|
With the fresh release 23.04, the Sculpt operating system boards the PinePhone
|
|
to explore the mobile world and, thereby, adds a second platform to its
|
|
year-long support for Intel PCs. In preparation, we added two key features to
|
|
Genode during the past months, which are the phone-oriented Sculpt
|
|
user-interface variant and the system-update functionality. Now, Sculpt
|
|
versions can be switched by three easy steps directly in the integrated user
|
|
interface: downloading system images to the software depot, install the
|
|
desired version on the boot medium, and reboot the device.
|
|
|
|
Further, the release supports so-called presets in the system menu UI, which
|
|
are entire runtime scenarios. The user can load and switch between presets by
|
|
just one click. Presets currently available in Sculpt are a simple GUI demo
|
|
(nano3d), a simple desktop including background picture and window manager,
|
|
and a ready to use Falkon web browser. Still, components can be integrated
|
|
into the system (or the currently running preset) by the + menu of the
|
|
component graph.
|
|
|
|
Sculpt OS 23.04 for PC and PinePhone is available as ready-to-use system image
|
|
at the [https://genode.org/download/sculpt - Sculpt download page] accompanied
|
|
with updated [https://genode.org/documentation/articles/sculpt-23-04 - documentation].
|
|
|
|
|
|
Genode OS Framework release 23.02 | 2023-02-28
|
|
##############################################
|
|
|
|
| Version 23.02 introduces system-update functionality to the mobile version
|
|
| of Sculpt OS, enhances our ARM VMM for interactive guest OSes, adds DMA
|
|
| protection to Xilinx Zynq via a custom IP core, extends suspend/resume
|
|
| support, and makes Intel's P&E cores explicitly manageable.
|
|
|
|
For the first time, Genode has become easily installable on the PinePhone.
|
|
The first system image is not merely a re-targeted PC version of Sculpt OS but
|
|
it comes with a novel user interface, a new mechanism for rapidly switching
|
|
between different application scenarios, and system-update functionality. This
|
|
is everything we need to kick off the first public field test of Genode on the
|
|
phone. This line of development motivated plenty of optimizations - from
|
|
kernel scheduling, over the I/O throughput of the VFS, to the interfacing of
|
|
GPU drivers - that made it into version 23.02.
|
|
|
|
Besides the focus on the phone, the release continues the hardware-software
|
|
co-design story of the previous version by adding DMA protection to Xilinx
|
|
Zynq SoCs using custom FPGA fabric, which is especially tailored for Genode.
|
|
But also stationary platforms like PCs and ARM laptops received attention.
|
|
On ARM, we enabled the use of interactive virtual machines by adding
|
|
device models for the GPU and input events. For the PC, the principle support
|
|
for suspend/resume has become available to Genode's custom microkernel in
|
|
addition to NOVA, and Genode learned to distinguish Intel's performance cores
|
|
from energy-efficient cores.
|
|
|
|
Regarding application workloads, the new release is accompanied by a
|
|
substantially improved version of the Goa tool, which streamlines the
|
|
creation, packaging, and publishing of Genode components using commodity
|
|
build systems. With the new version, Goa largely automates the
|
|
porting of CMake-based 3rd-party libraries for Genode.
|
|
|
|
Find these among many more topics covered by the official
|
|
[https:/documentation/release-notes/23.02 - release documentation of version 23.02...]
|
|
|
|
|
|
Road Map for 2023 | 2023-01-17
|
|
##############################
|
|
|
|
| In 2023, we will make the mobile version of Sculpt OS fit for end users,
|
|
| unleash advanced hardware features of Intel platforms,
|
|
| switch to C++20 by default, and run the feature-complete PC version
|
|
| of Sculpt OS on Genode's custom-tailored microkernel.
|
|
|
|
After having enabled all hardware features of the PinePhone that are
|
|
fundamental for a mobile phone over the course of the past year, the
|
|
project now aims at getting the mobile version of Sculpt OS into the hands of
|
|
end users. Throughout the year, there will be multiple rounds of field tests
|
|
within the community, allowing us to reach the desired state of maturity and
|
|
usefulness in an iterative way.
|
|
|
|
On PC platforms, Genode will increasingly address advanced platform features
|
|
like the distinction between power-efficient and high-performance cores, the
|
|
management of temperatures and frequencies, or the practical use of
|
|
suspend/resume. By the end of the year, we envision the PC version of Sculpt
|
|
OS running on Genode's custom-tailored microkernel leveraging all those
|
|
aspects of modern PC hardware.
|
|
|
|
Along the planned timeline of the project, one can spot plenty of additional
|
|
topics of interest such as the continued line of work of combining Genode
|
|
with FPGAs, applications implemented in Rust, the integration of IPv6, the
|
|
use of C++20 by default, or completed driver support for the MNT Reform laptop.
|
|
An exciting year lies ahead of us!
|
|
|
|
More details including our reflections of the past year, this year's focus,
|
|
and a rough schedule are presented at our official
|
|
[https:/about/road-map - road-map page].
|
|
|
|
|
|
Genode OS Framework release 22.11 | 2022-11-30
|
|
##############################################
|
|
|
|
| Genode 22.11 enables hardware-accelerated graphics on up-to-date Intel
|
|
| GEN12+ hardware, introduces work flows for hardware-software co-design,
|
|
| wraps up the framework's unified device-driver infrastructure across PC and
|
|
| ARM, and pushes forward the use of Genode on the PinePhone.
|
|
|
|
The Genode OS framework is both a dependable foundation for custom operating
|
|
systems - like Sculpt OS - and at the same time a playground for new ideas.
|
|
The just released version 22.11 pays tribute to both facets. On the one hand,
|
|
it features the results of our year-long effort of unifying and simplifying
|
|
the framework's device-driver infrastructure across all base platforms, which
|
|
subjects the interaction of driver components with device hardware to an
|
|
unprecedentedly rigid regime of least privilege. This makes Genode-based
|
|
systems ever more dependable and clear.
|
|
|
|
The role of Genode as a playground for innovation is embodied by the
|
|
combination of the framework with reconfigurable hardware. The release
|
|
introduces new work flows for designing hardware IP cores and Genode
|
|
components in tandem, which allows for low-complexity software-hardware
|
|
co-designs that fit like a glove.
|
|
|
|
Feature-wise, the new version covers a vast area of topics. The enhancement of
|
|
our Intel GPU multiplexer to current GEN12+ hardware stands out most. Further
|
|
topics range from the emerging user interface for Genode on the PinePhone,
|
|
over plenty of device-driver work, to virtualization improvements on ARM and
|
|
PC hardware.
|
|
|
|
These and many more topics of the new version are covered by the official
|
|
[https:/documentation/release-notes/22.11 - release documentation of version 22.11...]
|
|
|
|
|
|
Sculpt OS release 22.10 | 2022-10-13
|
|
####################################
|
|
|
|
| Sculpt OS 22.10 is a maintenance release of our Genode-based
|
|
| general-purpose OS. It imposes a new rigid regime to the management of
|
|
| low-level devices, improves USB hotplug support, and comes with numerous
|
|
| performance optimizations.
|
|
|
|
The just released version 22.10 of the Sculpt operating system bears the fruit
|
|
of our year-long effort to apply the rigidity of Genode's architecture to the
|
|
management of PCI configuration and device interrupts. This sweeping change
|
|
left no single device driver unturned. If we did our job right, you should not
|
|
notice any visible difference from the previous Sculpt version.
|
|
|
|
However, you should definitely _feel_ a difference when using the new version.
|
|
We put several performance optimizations in place - from accelerated system
|
|
startup, over increased network thoughput, to improved user-interface
|
|
responsiveness. Moreover, we put much emphasis on stressing Sculpt's USB
|
|
hotplug support, which includes the dynamic assignment and revocation of
|
|
USB devices to and from virtual machines.
|
|
|
|
With respect to available software, Sculpt users can enjoy an updated
|
|
Chromium engine - via the Falkon or Morph web browsers - and an updated
|
|
audio driver based on OpenBSD 7.1.
|
|
|
|
Sculpt OS 22.10 is available as ready-to-use system image at the
|
|
[https://genode.org/download/sculpt - Sculpt download page] along with
|
|
updated [https://genode.org/documentation/articles/sculpt-22-10 - documentation].
|
|
|
|
|
|
Genode OS Framework release 22.08 | 2022-08-31
|
|
##############################################
|
|
|
|
| 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
|
|
[https://genode.org/documentation/release-notes/22.08 - 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
|
|
[https:/documentation/release-notes/22.08 - release documentation of version 22.08...]
|
|
|
|
|
|
Genode OS Framework release 22.05 | 2022-05-31
|
|
##############################################
|
|
|
|
| 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
|
|
[https://genode.org/about/road-map - 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 [https://genode.org/download/sculpt - 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
|
|
[https://genode.org/documentation/genode-platforms-22-05.pdf - 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
|
|
[https:/documentation/release-notes/22.05 - release documentation of version 22.05...]
|
|
|
|
|
|
Genode SoC porting guide | 2022-05-25
|
|
#####################################
|
|
|
|
| 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.
|
|
|
|
[https://genode.org/documentation/genode-platforms-22-05.pdf - 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 | 2022-04-28
|
|
####################################
|
|
|
|
| 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
|
|
[https://genode.org/documentation/release-notes/21.08#Linux-device-driver_environment_re-imagined - 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
|
|
[https://genode.org/news/sculpt-os-release-21.10 - 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
|
|
[https://genode.org/download/sculpt - Sculpt download page] and is accompanied
|
|
with updated [https://genode.org/documentation/articles/sculpt-22-04 - documentation].
|
|
|
|
|
|
Genode OS Framework release 22.02 | 2022-02-28
|
|
##############################################
|
|
|
|
| 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
|
|
[https:/documentation/release-notes/22.02 - release documentation of version 22.02...]
|
|
|
|
|
|
Road Map for 2022 | 2022-01-18
|
|
##############################
|
|
|
|
| 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
|
|
[https:/about/road-map - road-map page].
|
|
|
|
|
|
Genode OS Framework release 21.11 | 2021-11-30
|
|
##############################################
|
|
|
|
| Genode 21.11 puts the spotlight on device drivers. Interactive Genode
|
|
| scenarios come to the PinePhone, hardware-accelerated graphics becomes
|
|
| available on Intel Gen9+ and Vivante GPUs, and Xilnx Zynq receives
|
|
| new love.
|
|
|
|
The previous release presented our new take on porting drivers from Linux, and
|
|
the architectural integration of hardware-accelerated graphics in Genode-based
|
|
systems. The just released version 21.11 is the continuation of both topics.
|
|
Thanks to our streamlined approach for transplanting Linux drivers to Genode, we
|
|
were able to reuse the PinePhone's Linux drivers for the display and
|
|
touchscreen without modification. But, in contrast to running those drivers in
|
|
the Linux kernel, we are walking on new ground by confining each driver in a
|
|
separate sandbox.
|
|
|
|
With our GPU line of work, we followed two major directions during the release
|
|
cycle. For one, we applied our architectural approach to a second GPU vendor
|
|
besides Intel, namely the Vivante GPU as used by the i.MX SoC family.
|
|
Combined with the etnaviv Gallium driver of the Mesa library, Genode thereby
|
|
becomes able to render graphics with hardware acceleration on the MNT Reform
|
|
open-hardware laptop. The second branch is the promised extension of our
|
|
custom Intel GPU multiplexer to GPUs of generation 9 or newer. Thereby, GPU
|
|
support has now become a regular feature of the Genode-based Sculpt OS that
|
|
can be taken for a spin on commodity PC hardware.
|
|
|
|
Regarding 32-bit ARM platforms, the current release revives our engagement
|
|
with Xilinx Zynq devices, which combine FPGA fabric with a 32-bit ARM CPU.
|
|
In particular, the release brings the framework to the USRP E310 board,
|
|
opening new hardware-software co-design opportunities.
|
|
|
|
Besides the many hardware-related topics outlined above, two functional
|
|
improvements stand out. First, the Genode version of VirtualBox 6 has reached
|
|
feature parity with version 5. Both versions can now be used interchangeably
|
|
on Sculpt OS. Finally, libSDL2 got upgraded with support for audio and OpenGL,
|
|
which is a nice pathway for hosting games on Genode.
|
|
|
|
The new version is described in full detail by the
|
|
[https:/documentation/release-notes/21.11 - release documentation of version 21.11...]
|
|
|
|
|
|
Sculpt OS release 21.10 | 2021-10-14
|
|
####################################
|
|
|
|
| Sculpt OS version 21.10 introduces GPU-accelerated graphics on Intel,
|
|
| media playback in the web browser, VirtualBox 6, and USB webcam support.
|
|
|
|
At the first glance, the just released Sculpt 21.10 looks and feels nearly
|
|
identical to the time-tested previous version 21.03. However, a look at the
|
|
installable packages reveals a firework of exciting new features.
|
|
|
|
First and technically most exciting, the new version enables the use of
|
|
hardware-accelerated graphics on Intel GPUs, paving the ground for
|
|
graphics-intensive applications and games. The GPU support is based on the
|
|
combination of the Mesa library stack with our custom GPU multiplexer
|
|
as featured in
|
|
[https://genode.org/documentation/release-notes/21.08#Advancing_GPU_driver_stack - Genode 21.08].
|
|
_Note that this fresh new feature should best be regarded as experimental_
|
|
_and be used with caution._
|
|
|
|
Second, our port of the Chromium-based Falkon web browser has become able to
|
|
present media content like videos and sound. Look out for the browser in the
|
|
tools menu of cproc's depot. It is accompanied with a ready-to-use audio
|
|
driver and a mixer component. In cases where audio output is not desired, the
|
|
browser - or any other component that requests audio output - can be connected
|
|
to a new component called black hole, which merely mimics an audio driver
|
|
without any audible effect.
|
|
|
|
Third, with the addition of the new file-vault component, Sculpt now provides
|
|
an easy way to setup and use an encrypted file store using our custom CBE
|
|
block encrypter as underlying crypto container. The file vault is especially
|
|
useful in combination with the recall-fs component that provides each client
|
|
with a distinct storage compartment.
|
|
|
|
Finally, the support for USB webcams as introduced with
|
|
[https://genode.org/documentation/release-notes/21.05#Webcam_support - Genode 21.05]
|
|
has entered Sculpt OS in the form of a new webcam package. The webcam support
|
|
can best be combined with our new port of VirtualBox 6 that is available in
|
|
addition to VirtualBox version 5. With Sculpt 21.10, both VirtualBox versions
|
|
can be used in parallel.
|
|
|
|
Sculpt OS 21.10 is available as ready-to-use system image at the
|
|
[https://genode.org/download/sculpt - Sculpt download page] and is accompanied
|
|
with updated [https://genode.org/documentation/articles/sculpt-21-10 - documentation].
|
|
More details about individual new features of Sculpt 21.10 will be covered
|
|
soon by dedicated articles at [https://genodians.org].
|
|
|
|
|
|
Genode OS Framework release 21.08 | 2021-08-31
|
|
##############################################
|
|
|
|
| The highlights of Genode 21.08 are revamped GPU support as well as new
|
|
| drivers for the PinePhone and MNT-Reform laptop based on a new streamlined
|
|
| approach for porting Linux kernel code. Further topics range from VirtualBox
|
|
| improvements, over media playback in the native web browser, to LTE
|
|
| connectivity in Sculpt OS.
|
|
|
|
For complex driver stacks, Genode largely relies on code ported from other
|
|
operating systems. The Linux kernel plays a special role because - being the
|
|
basis for Android - it is the de-facto reference for driving the peripherals
|
|
of most ARM SoCs. Up to now, however, the porting efforts of driver code from
|
|
Linux to Genode used to be a time-intensive affair, which forced a narrow
|
|
focus on very few SoCs on us. With the streamlined porting approach introduced
|
|
with the new release, we become able to dramatically reduce the costs,
|
|
creating the prospect of a much broader hardware support. The first success
|
|
stories of the new way of porting are added graphics drivers for the PinePhone
|
|
and the MNT-Reform laptop, a network driver for the Pine-A64-LTS board, and an
|
|
SD-card driver for the MNT-Reform.
|
|
|
|
The second spotlight of the release is the largely revamped support for Intel
|
|
GPUs. In contrast to our experimental GPU-related work of the past, we have
|
|
now identified a way to cleanly integrate GPU support into the GUI
|
|
architecture of sophisticated Genode systems such as Sculpt OS. This work is
|
|
accompanied with an up-to-date version of the Mesa library stack. In
|
|
combination with the improvements of our custom GPU multiplexer, we are now on
|
|
a good track to make the use of hardware-accelerated graphics a commodity on
|
|
Genode.
|
|
|
|
Even though most topics of the current release revolve around low-level
|
|
driver-related work, the new version improves higher-level functionality as
|
|
well. In particular, it adds the modular integration of mobile-data
|
|
connectivity to Sculpt OS and enables media playback for our port of the
|
|
Chromium web engine. Those and more topics are described in the detailed
|
|
[https:/documentation/release-notes/21.08 - release documentation of version 21.08...]
|
|
|
|
|
|
Genode OS Framework release 21.05 | 2021-05-31
|
|
##############################################
|
|
|
|
| Version 21.05 introduces webcam support, features an encrypted file vault
|
|
| for Sculpt OS, and adds new drivers for the i.MX8 SoC and Pine-A64.
|
|
| Furthermore, it is accompanied with a new tool chain based on GCC 10
|
|
| and new guidance documentation for driver development.
|
|
|
|
Device-driver support remains a prominent topic for almost every release.
|
|
The just released version 21.05 is no exception, touching hardware topics
|
|
ranging from USB, over I2C on i.MX8, over GPIO on Pine-A64, to networking on
|
|
RISC-V. Until now, such nitty-gritty driver-development work has been pursued
|
|
almost exclusively by the core team at Genode Labs. To encourage developers
|
|
outside the inner circle to join the fun, the release is accompanied with the
|
|
initial version of a comprehensive guidance documentation for
|
|
hardware-related topics.
|
|
|
|
Feature-wise the two highlights of the new version are webcam support and an
|
|
easy-to-use encrypted file store based on our custom CBE block encrypter.
|
|
As detailed by the release documentation, both features leverage Genode's
|
|
architecture in unique ways to attain high flexibility without an inflation of
|
|
complexity.
|
|
|
|
The release is rounded up by a new tool chain based on GCC 10 and Binutils
|
|
2.36, profound performance optimizations, framework refinements, and new
|
|
assistive tooling for porting Linux drivers. All the details of the new
|
|
version are covered by the official
|
|
[https:/documentation/release-notes/21.05 - release documentation of version 21.05...]
|
|
|
|
|
|
Sculpt OS 21.03 boots now in 2.5 seconds | 2021-05-03
|
|
#####################################################
|
|
|
|
| We have released an updated Sculpt 21.03 image featuring several
|
|
| hardware-compatibility tweaks and performance improvements.
|
|
|
|
Since the official Sculpt OS 21.03 release end of March, we continued our
|
|
efforts with refining the user experience and broadening hardware
|
|
compatibility, thanks to the user feedback we received. We have now released
|
|
an updated system image that includes those refinements as well as several
|
|
performance optimizations that boost the boot time of Sculpt to less than 2.5
|
|
seconds from the first life sign of the kernel to the graphical user
|
|
interface (measured on a 5-years old Lenovo x250 laptop).
|
|
|
|
You can get the new version of the system image named sculpt-21-03b at the
|
|
[https://genode.org/download/sculpt - Sculpt OS download] page.
|
|
It is binary compatible with the original release version. So you can use it
|
|
as a drop-in-replacement.
|
|
|
|
For manually reproducing the image, please refer to the corresponding
|
|
[https://github.com/chelmuth/genode/commits/sculpt_21_03b - Git branch].
|
|
|
|
|
|
Sculpt OS release 21.03 | 2021-03-24
|
|
####################################
|
|
|
|
| Version 21.03 of the Sculpt operating system makes the system resilient
|
|
| against classes of driver failures, adds configurable real-time priorities,
|
|
| and introduces interfaces for screen capturing and user-event injection.
|
|
|
|
Sculpt OS 21.03 incorporates the many improvements of the latest two Genode
|
|
releases. Thanks to Genode's concept of
|
|
[https://genode.org/documentation/release-notes/21.02#Pluggable_network_device_drivers - pluggable device drivers],
|
|
the system has reached a new level of robustness against malfunctioning
|
|
drivers. For example, if the Intel graphics driver trips over an unsupported
|
|
external display, the driver gets automatically restarted while all graphical
|
|
applications keep running. Or as another example, should the overly complex
|
|
Wifi driver have a hick-up, it can be restarted with a simple mouse click
|
|
without harming the networking stacks running on top.
|
|
|
|
Even though Genode supports static-priority scheduling since more than a
|
|
decade, Sculpt did not make this feature available to end users so far. The
|
|
new version changes that. For each component, the user can now take a
|
|
deliberate decision about the hard scheduling priority, e.g., prioritizing
|
|
latency-critical multi-media applications over computational workloads or
|
|
virtual machines.
|
|
|
|
Speaking of workloads, to push the limits of what is possible with Sculpt OS,
|
|
the new version introduces additional interfaces that can be assigned to
|
|
components. First, it has become possible to redirect the interaction of a
|
|
component with the kernel through another component, thereby enabling features
|
|
like dynamic CPU-load balancing to be implemented as plain user-level
|
|
services. Second, there are new interfaces for capturing the screen and for
|
|
injecting input events. The latter interfaces pave the ground for virtual
|
|
keyboards, screen-sharing application, or remote administration scenarios.
|
|
|
|
Under the hood, there are plenty of improvements that make the life of
|
|
Sculpt users better. The keyboard layout can now be picked from a menu.
|
|
The Chromium-based Falkon web browser runs circles around the previous
|
|
version. Menu items and file lists appear nicely sorted. Terminal windows
|
|
immediately respond to global font-size changes. On modern Intel machines,
|
|
Sculpt leverages Intel Hardware P-states (HWP) for power and thermal
|
|
management now. You can find an illustrated tour of these and more changes in
|
|
a dedicated
|
|
[https://genodians.org/nfeske/2021-03-24-sculpt-os - article at Genodians.org].
|
|
|
|
The updated [https://genode.org/documentation/articles/sculpt-21-03 - manual]
|
|
goes into detail about the use of the new system.
|
|
|
|
The ready-to-use system image for version 21.03 is available at the
|
|
[https://genode.org/download/sculpt - Sculpt download page].
|
|
|
|
|
|
Genode OS Framework release 21.02 | 2021-02-25
|
|
##############################################
|
|
|
|
| The highlights of version 21.02 are the addition of VirtualBox 6,
|
|
| mobile-data connectivity via LTE, pluggable network drivers, initial
|
|
| support for the Pine-A64-LTS board, and revived work on RISC-V.
|
|
|
|
Many topics of the current release draw a connection to our overarching goal
|
|
to use Genode on the PinePhone by the end of the year. Besides the obvious
|
|
steps of enabling the hardware - starting with the Pine-A64-LTS board - the
|
|
release introduces mobile-data connectivity as a Genode feature, and changes
|
|
the network-driver architecture in anticipation of dynamic power-management
|
|
schemes.
|
|
|
|
For PC hardware, the flagship feature of version 21.02 is the addition of
|
|
VirtualBox 6, giving us the prospect to eventually replace the aging port of
|
|
VirtualBox 5. Speaking of VirtualBox, the release comes with profound
|
|
improvements of the USB-device pass-through abilities, most importantly
|
|
covering audio headsets.
|
|
|
|
Besides these prominent features, the new version comes with many further
|
|
improvements. Just to name a few, virtual machines on ARM have become
|
|
able to provide VirtIO-block devices to guests, named pipes can now
|
|
be used to connect components, Genode's RISC-V support received an
|
|
update to ISA spec 1.10, and OpenSSL has been bumped to version 1.1.1.
|
|
For the full story, please refer to the
|
|
[https:/documentation/release-notes/21.02 - release documentation of version 21.02...]
|
|
|
|
|
|
Road Map for 2021 | 2021-01-15
|
|
##############################
|
|
|
|
| In 2021, we plan to bring Genode to the PinePhone, advance the framework's
|
|
| GPU support, and focus on development workflows.
|
|
|
|
During the annual road-map discussion on Genode's public
|
|
[https://genode.org/community/mailing-lists - mailing list],
|
|
the following hot topics for this year emerged.
|
|
|
|
First and most inspiring for many Genode developers, we aspire to have
|
|
Genode running on the PinePhone with basic feature-phone functionality by the
|
|
end of the year. Since this will involve substantial device-driver-related
|
|
developments, the team will take this line of work as an opportunity to
|
|
advance the tooling and workflows for carrying out such tasks. This, in turn,
|
|
will hopefully ease the on-boarding of new driver developers in the future.
|
|
|
|
Closely related to the PinePhone scenario, the project will make optimizations
|
|
a top priority this year. The opportunities are plenty, ranging from
|
|
micro-optimizations, over API refinements, to architectural changes if
|
|
needed.
|
|
|
|
Another recurring topic is the request for GPU support, which is required
|
|
by many modern workloads such as video conferencing or streaming on mobile
|
|
device. Therefore, we will revamp our past developments of GPU multiplexing
|
|
on Intel hardware while also starting the investigation of GPUs on ARM-based
|
|
devices.
|
|
|
|
More information about our review of the past year, this year's focus, and a
|
|
rough schedule are presented at our official
|
|
[https:/about/road-map - road-map page].
|
|
|
|
|
|
Genode OS Framework release 20.11 | 2020-11-27
|
|
##############################################
|
|
|
|
| Genode 20.11 brings Sculpt OS to 64-bit ARM hardware, introduces dynamic
|
|
| CPU-load balancing, and enables multicore virtualization on ARM. Driver-wise,
|
|
| the release improves audio on PC hardware, and adds VirtIO networking support.
|
|
|
|
ARM 64-bit has been a recurring theme of the Genode releases this year and the
|
|
just released version 20.11 is no exception. We are proud to announce that our
|
|
Genode-based custom general-purpose OS called Sculpt has come to life on
|
|
64-bit ARM hardware, namely the NXP i.MX8 EVK board. This is the result of
|
|
intensive work on the framework's driver architecture for ARM and several
|
|
SoC-specific device drivers. Closely related to this line of work is the new
|
|
ability to run multicore virtual machines on ARM.
|
|
|
|
Another highlight of version 20.11 is a new CPU balancing mechanism, which
|
|
automates the dynamic assignment of threads to CPU cores for complex
|
|
workloads. With traditional operating systems, such policies are normally part
|
|
of the OS kernel. Thanks to Genode's component architecture, we are able to
|
|
implement such potentially complex policies in the form of an optional
|
|
component, which offers ultimate flexibility while keeping the kernel
|
|
untainted by complex heuristics.
|
|
|
|
Further topics of the current release are improved power management and audio
|
|
support on PC hardware, a new OSS API emulation that allows for the
|
|
reuse of popular audio applications on Genode, and new support for VirtIO
|
|
networking. The full picture is given by the
|
|
[https:/documentation/release-notes/20.11 - release documentation of version 20.11...]
|
|
|
|
|
|
Sculpt OS release 20.08 | 2020-09-17
|
|
####################################
|
|
|
|
| Version 20.08 of the Sculpt operating system refines the user experience
|
|
| and becomes able to host the Chromium-based Falkon web browser.
|
|
|
|
The new version of Sculpt OS is based on the latest Genode release
|
|
[https://genode.org/documentation/release-notes/20.08 - 20.08].
|
|
In particular, it incorporates the
|
|
[https://genode.org/documentation/release-notes/20.08#The_GUI_stack__restacked - redesigned GUI stack]
|
|
to the benefit of quicker boot times, improved interactive responsiveness, and
|
|
better pixel output quality.
|
|
It also removes the last traces of the
|
|
[https://genode.org/documentation/release-notes/20.05#Retired_Noux_runtime_environment - noux runtime].
|
|
Fortunately, these massive under-the-hood changes do not disrupt the
|
|
user-visible surface of Sculpt. Most users will feel right at home.
|
|
|
|
Upon closer inspection, there are couple of new features to appreciate. The
|
|
CPU-affinity of each component can now be restricted interactively by the user,
|
|
components can be easily restarted via a click on a button, font-size changes
|
|
have an immediate effect now, and the VESA driver (used when running Sculpt in
|
|
a virtual machine) can dynamically change the screen resolution.
|
|
|
|
Thanks to our continuous efforts of strengthening of the base system, Sculpt
|
|
OS has become able to host a first version of the Chromium-based Falkon web
|
|
browser from an installable package. Even though this version is still rough
|
|
around the edges and unoptimized, it already enables Sculpt users to casually
|
|
browse the modern web without the need for a virtual machine.
|
|
|
|
The updated [https://genode.org/documentation/articles/sculpt-20-08 - manual]
|
|
goes into detail about the use of the new system.
|
|
|
|
The ready-to-use system image for version 20.08 is available at the
|
|
[https://genode.org/download/sculpt - Sculpt download page].
|
|
|
|
|
|
Genode OS Framework release 20.08 | 2020-08-28
|
|
##############################################
|
|
|
|
| With Genode 20.08, the low-level GUI stack underwent a profound redesign,
|
|
| the Chromium web engine comes to life, the i.MX8 support covers clock and
|
|
| power management, and the CBE block encrypter becomes highly modular.
|
|
|
|
The most stunning feature of Genode 20.08 is most certainly the new ability
|
|
to host the Chromium web engine as native component in the form of the Falkon
|
|
web browser. This long-time project involved overcoming countless road
|
|
blocks along the way to the great benefit of Genode's users at large: building
|
|
bridges between 3rd-party build systems and Genode, covering seemingly obscure
|
|
corner cases of POSIX, solving instruction-cache invalidation issues on ARM -
|
|
just to name a few.
|
|
|
|
Under the hood, we took the release cycle as opportunity to tackle a major
|
|
surgery of the low-level GUI stack that we planned for more than two years.
|
|
The architectural change lays the groundwork for swapping out graphics and
|
|
input drivers on the fly without reboot. It also paves the ground for features
|
|
like screen capturing and remote desktop scenarios in a privacy-protecting
|
|
way.
|
|
|
|
On our mission of bringing the driver support for the 64-bit ARM-based i.MX8
|
|
SoC on par with our driver coverage on Intel PCs, the release introduces a
|
|
platform driver specifically for this SoC that covers clock and power
|
|
management. One step closer to using Sculpt OS on the MNT Reform laptop.
|
|
|
|
Furthermore, Genode's custom block encrypter called CBE received continuous
|
|
development. In particular, the cryptographic algorithm and trust anchor
|
|
have become pluggable modules. This will allow for tailoring the CBE to
|
|
custom products - like hardware trust anchors - without changing its
|
|
implementation.
|
|
|
|
These and many more improvements are covered in detail in the
|
|
[https:/documentation/release-notes/20.08 - release documentation of version 20.08...]
|
|
|
|
|
|
Genode OS Framework release 20.05 | 2020-05-28
|
|
##############################################
|
|
|
|
| Version 20.05 wraps up the consolidation of Noux with the C runtime,
|
|
| advances the device-driver infrastructure and virtualization support on ARM,
|
|
| reaches feature-completion of our block encryptor, and leverages seccomp for
|
|
| sandboxing components on top of Linux.
|
|
|
|
It has become almost a tradition to dedicate the spring release to topics
|
|
under the hood of the Genode OS framework, taking the time for careful
|
|
consolidation, and architectural improvements.
|
|
|
|
On the latter account, the Linux version gained an architectural revamp of its
|
|
inter-component communication model, leveraging the combination of the
|
|
seccomp and epoll kernel mechanisms to enable Genode's capability-based
|
|
security concept on this kernel. The new version applies strict sandboxing
|
|
to each component individually. In particular, the host file system is
|
|
shielded from Genode components and Genode's least-privilege access-control
|
|
scheme comes into effect.
|
|
|
|
As the second prominent architectural topic, the release features new
|
|
device-driver infrastructure for the ARM universe along with a unified
|
|
version of the formerly distinct virtual machine monitors for ARMv7 and
|
|
ARMv8. These are important steps to bring Genode on ARM to parity with the
|
|
x86 version.
|
|
|
|
Further highlights of the release are the first feature-complete version
|
|
of our custom block-encryption component, the improved management of CPU
|
|
affinities on x86, and new tracing utilities. Last but not least, the
|
|
release is accompanied with an updated version of the Genode Foundations
|
|
book, reflecting the changes of the framework since one year ago.
|
|
|
|
Read the details of the new release in the
|
|
[https:/documentation/release-notes/20.05 - release documentation of version 20.05...]
|
|
|
|
|
|
Sculpt OS release 20.02 | 2020-03-10
|
|
####################################
|
|
|
|
| Version 20.02 of the Sculpt operating system revisits the administrative
|
|
| user interface for a more intuitive and logical user experience.
|
|
|
|
With the release of Sculpt version 20.02, we follow our
|
|
[https://genode.org/about/road-map - roadmap's] mission to make Sculpt OS
|
|
easier to approach. In particular, we
|
|
[https://genodians.org/nfeske/2020-01-06-pending-sculpt-ui - identified] the
|
|
reliance on a command-line interface as a potential barrier of entry. As
|
|
Sculpt OS is not a Unix-like system, it should not require any Unix know-how
|
|
from the user. To relieve users from this burden, Sculpt 20.02 introduces
|
|
a custom graphical file browser and editor that can be used for interactively
|
|
inspecting and tweaking the state of the system. The traditional command-line
|
|
interface is still present as a fallback for advanced tasks though.
|
|
The updated [https://genode.org/documentation/articles/sculpt-20-02 - manual]
|
|
goes into detail about the use of the new system.
|
|
|
|
Thanks to the work of seasoned Genode developers, many software packages are
|
|
already available for the new version. These include virtual machine monitors
|
|
like VirtualBox, performance-monitoring tools, GUI components, Genode's custom
|
|
Unix runtime, and several applications and games. In particular, the software
|
|
depots offered by alex-ab, cnuke, skalk are worth exploring.
|
|
The ready-to-use system image for version 20.02 can be obtained from the
|
|
[https://genode.org/download/sculpt - Sculpt download page] and is
|
|
accompanied by matching
|
|
[https://genode.org/documentation/articles/sculpt-20-02 - documentation].
|
|
|
|
|
|
Genode OS Framework release 20.02 | 2020-02-28
|
|
##############################################
|
|
|
|
| With version 20.02, Genode makes Sculpt OS fit for running on i.MX 64-bit
|
|
| ARM hardware, optimizes the performance throughout the entire software stack,
|
|
| and takes the next evolutionary step of the user-facing side of Sculpt OS.
|
|
|
|
Without any doubt, Sculpt OS has been the driving motivation behind most
|
|
working topics featured by the new release. One particularly exciting line
|
|
of work is the enabling of Sculpt on i.MX-based 64-bit ARM hardware, which
|
|
touched the framework on all levels, from the boot loader, over the kernel,
|
|
device drivers, libraries, system management, up to the application level.
|
|
The work goes as far as supporting Sculpt OS as a hypervisor platform for
|
|
hosting Linux in a virtual machine.
|
|
|
|
As a second Sculpt-related development, we strive to make the user-visible
|
|
side of the operating system better approachable and more logical. With this
|
|
background, the current release comes with a profound redesign of the
|
|
administrative user interface of Sculpt OS. An updated downloadable system
|
|
image will follow soon.
|
|
|
|
Also related to Sculpt are an updated audio driver based on OpenBSD 6.6,
|
|
the support of virtual desktops, and performance optimization of the
|
|
Seoul virtual machine monitor on x86 hardware.
|
|
|
|
Regarding the framework API, the release introduces a new library for
|
|
building multi-component applications. It aims to bring the benefits of
|
|
Genode's unique security architecture from the operating-system level to the
|
|
application level.
|
|
|
|
These topics are only the tip of the iceberg. For the complete picture,
|
|
please consult the
|
|
[https:/documentation/release-notes/20.02 - release documentation of version 20.02...]
|
|
|
|
|
|
Road Map for 2020 | 2020-01-20
|
|
##############################
|
|
|
|
| In 2020, we will be concerned about dwarfing the barrier of entry into
|
|
| the Genode world.
|
|
|
|
Following the last year's leitmotif of "bridging worlds", we turn our
|
|
attention to the removal of the hurdles faced by aspiring developers and
|
|
users. During the annual road-map
|
|
[https://lists.genode.org/pipermail/users/2019-December/006987.html - discussion]
|
|
on our mailing list, we identified four tangible approaches towards that
|
|
goal. First, making Sculpt OS more user friendly. Second, reinforcing trust in
|
|
Genode by fostering the framework's high quality. Third, making the tooling
|
|
around Genode a joy to use. And finally, the illustration of Genode's
|
|
versatility in the form practical use cases.
|
|
|
|
Besides this overall theme, we plan to continue our commitment to the
|
|
NXP i.MX SoC family, revisit Genode's low-latency audio support, and
|
|
extend the cultivation of Ada/SPARK within (and on top of) Genode.
|
|
|
|
More background information about the new road map and a rough schedule are
|
|
presented at our official [https:/about/road-map - road-map page].
|
|
|
|
|
|
Genode OS Framework release 19.11 | 2019-11-28
|
|
##############################################
|
|
|
|
| Following this year's theme of "bridging worlds", Genode 19.11 adds the
|
|
| ability to use popular build tools like CMake for application development,
|
|
| introduces a new virtual-machine monitor for 64-bit ARM, and enhances
|
|
| POSIX compatibility. As another highlight, it features the first version
|
|
| of our custom block-device encrypter.
|
|
|
|
Block-device encryption is a feature often requested by users of our Sculpt OS.
|
|
Until now, we deliberately left this topic unaddressed because we felt that a
|
|
profound answer was beyond our expertise. However, during the past year, we
|
|
dived deep into it. The result is the prototype for a new block encrypter that
|
|
encrypts data but also protects integrity and freshness. For us, the
|
|
implementation of the encrypter is especially intriguing because - with about
|
|
7000 lines of code - it is Genode's first non-trivial component written in the
|
|
[https://en.wikipedia.org/wiki/SPARK_(programming_language) - SPARK]
|
|
programming language.
|
|
|
|
The second major addition is a new virtual machine monitor (VMM) for 64-bit
|
|
ARM platforms such as the NXP i.MX8. It leverages the
|
|
[https://genode.org/documentation/articles/arm_virtualization - proof of concept]
|
|
we developed in 2015 for ARMv7, which we pursued as a technology exploration.
|
|
In contrast, our aspiration with the new VMM is a product-quality solution.
|
|
|
|
In our [https://genode.org/about/road-map - road map] for 2019, we stated
|
|
the "bridging of worlds" as our overall theme for this year. On that account,
|
|
the current release moves the project forward on two levels. First, by
|
|
successively increasing the scope of POSIX compatibility, we reduce the
|
|
friction when porting existing application software to Genode. We managed
|
|
to bridge several gaps in our POSIX support that we considered as impossible
|
|
to cover some years ago. In particular, we identified ways to emulate certain
|
|
POSIX signals, ioctl calls, and fork/execve semantics. This way, popular
|
|
software such as bash, coreutils, or Vim can now be executed as regular
|
|
Genode components with no additional runtime environment (like Noux or a VMM)
|
|
required.
|
|
|
|
At a higher level, the current release introduces new tooling especially
|
|
geared at the development and porting of application software. Compared to
|
|
Genode's regular development tools, which were designed for whole-system
|
|
development, the new tool called Goa relieves the developer from the
|
|
complexity of Genode's custom build system and instead promotes the use of
|
|
popular commodity solutions like CMake.
|
|
|
|
These and more topics are described in the
|
|
[https:/documentation/release-notes/19.11 - release documentation of version 19.11...]
|
|
|
|
|
|
Genode OS Framework release 19.08 | 2019-08-28
|
|
##############################################
|
|
|
|
| Genode 19.08 puts emphasis on practical concerns ranging from
|
|
| keyboard layouts, over system-time management, to remote system
|
|
| administration. It also continues our commitment to the 64-bit ARM
|
|
| i.MX8 SoC, comes with Qt5 version 5.13, and improves POSIX compatibility.
|
|
|
|
The summer release of Genode addresses a variety of topics when using Genode
|
|
and Sculpt OS in practice. The confrontation with the real world prompted us
|
|
to develop new concepts for managing system time, keyboards layouts, and
|
|
copy-and-paste. For using Sculpt OS on the road, a new application VM for
|
|
accessing captive portals smoothes the experience of connecting to public WiFi
|
|
networks.
|
|
|
|
Besides the practical focus, the new release continues our commitment to the
|
|
64-bit ARM i.MX8 platform through new kernel support, device drivers, and test
|
|
coverage. Further topics include SMBIOS support for commodity PC hardware, a
|
|
new tracing tool, enhanced POSIX compatibility, and a major update of Qt5 to
|
|
version 5.13.
|
|
|
|
The complete picture is presented in the
|
|
[https:/documentation/release-notes/19.08 - release documentation of version 19.08...]
|
|
|
|
|
|
Sculpt OS release 19.07 | 2019-07-09
|
|
####################################
|
|
|
|
| Version 19.07 of the Sculpt operating system improves overall performance
|
|
| and introduces copy and paste between terminals, virtual machines, and
|
|
| graphical applications.
|
|
|
|
The most prominent user-visible feature of Sculpt OS 19.07 is the ability
|
|
of copy and paste text between terminals, graphical applications, and
|
|
virtual machines. Our unique take on this feature is described in
|
|
a [https://genodians.org/nfeske/2019-07-03-copy-paste - dedicated article].
|
|
|
|
Under the hood, Sculpt 19.07 benefits from the massive infrastructure
|
|
improvements that came with
|
|
[https://genode.org/documentation/release-notes/19.05 - Genode 19.05],
|
|
yielding a smoother user experience compared to earlier versions.
|
|
|
|
The new release can be obtained from the
|
|
[https://genode.org/download/sculpt - Sculpt download page] and is
|
|
accompanied by updated
|
|
[https://genode.org/documentation/articles/sculpt-19-07 - documentation].
|
|
|
|
|
|
Genode OS Framework release 19.05 | 2019-05-29
|
|
##############################################
|
|
|
|
| The highlights of version 19.05 are a new kernel-agnostic virtualization
|
|
| interface, initial support for the 64-bit ARM architecture, the use of
|
|
| C++17 by default, a new tool chain based on GCC 8.3, updated C and SPARK
|
|
| runtimes, and the consolidation of build directories across boards.
|
|
|
|
We dedicated the release cycle of Genode 19.05 to platform topics at various
|
|
levels. The flagship feature is certainly the introduction of our
|
|
kernel-agnostic virtualization interface. It has been in the works for more
|
|
than a half year and gives us the prospect of running virtual machine monitors
|
|
like Seoul and VirtualBox seamlessly across Genode's supported kernels.
|
|
|
|
The second major theme is the extension of Genode's CPU-architecture support
|
|
to 64-bit ARM (AARCH64). This step motivated the update of many parts of the
|
|
framework's fundamental infrastructure, ranging from the tool chain (updated
|
|
to GCC 8.3), over the C runtime (updated to FreeBSD 12 libc), to the dynamic
|
|
linker. The new tool chain, in turn, paved the ground for enabling C++17 by
|
|
default.
|
|
|
|
With the diversity of kernels, CPU architectures, and boards growing, we are
|
|
constantly striving to remove friction and redundancies between Genode's
|
|
underlying platforms. The current release eventually consolidates the build
|
|
directories not only across kernels but also across all boards of a given
|
|
CPU architecture. This vastly increases the velocity of Genode-based system
|
|
scenarios when targeting multiple boards or emulators at the same time.
|
|
|
|
Further details about these and many more improvements are given in the
|
|
[https:/documentation/release-notes/19.05 - release documentation of version 19.05...]
|
|
|
|
|
|
Sculpt as a Community Experience | 2019-03-19
|
|
#############################################
|
|
|
|
| The fourth stage of Sculpt OS introduces a new federated software
|
|
| provisioning model while giving the user full control over the
|
|
| component deployment via a novel graphical user interface.
|
|
|
|
With Sculpt CE, we enter the final stage of the evolution of Sculpt OS as
|
|
envisioned roughly one year ago. Initially geared towards die-hard enthusiasts
|
|
only, each revision became more and more user friendly. The previous version
|
|
Sculpt VC already offered a glimpse of Sculpt's unique user interface in the
|
|
form of an interactive component graph.
|
|
|
|
The just released Sculpt OS "as a community experience" (CE) combines this
|
|
tangible notion of component compositions with a completely federated software
|
|
provisioning model that cuts out middlemen like an app store or a
|
|
distribution. With Sculpt CE, components can be offered by a federation of
|
|
independent software providers selectable by the user. The software
|
|
installation is sandboxed and protected via digital signatures. The
|
|
integration of components with the rest of the system is completely under
|
|
control by the user. With the principle of least privilege at the heart
|
|
of Sculpt's architecture, you - the user - can fearlessly install and run
|
|
software without the need to ultimately trust the software providers.
|
|
|
|
Sculpt CE is intended to work in tandem with the new community blog
|
|
[https://genodians.org - Genodians.org] where developers and users exchange
|
|
experiences and announce new software. The best way to watch how the
|
|
Sculpt story continues is the RSS feed of Genodians.org.
|
|
|
|
To dive into the new world of Sculpt CE,
|
|
[https://genode.org/download/sculpt - download Sculpt OS...]
|
|
|
|
|
|
Genodians.org | 2019-03-08
|
|
##########################
|
|
|
|
| Genodians.org is the new place to be for getting the latest news and stories
|
|
| around Genode. It is a federated blog by and for developers and users
|
|
| alike.
|
|
|
|
With [https://genodians.org - Genodians.org], the Genode community has gained
|
|
a new place for exchanging ideas, announcing current developments, giving
|
|
tutorials, and sharing experience stories. In contrast to the formal character
|
|
of Genode's regular release notes, the articles at Genodians.org are raw and
|
|
personal, authored by individuals with no editorial process. For feedback
|
|
about the articles, readers are invited to the new
|
|
[https://reddit.com/r/genode - /r/genode] subreddit.
|
|
|
|
As written in the
|
|
[https://genodians.org/nfeske/2019-01-07-welcome - initial posting],
|
|
Genode users and developers are warmly invited to join the authors at
|
|
Genodians.org!
|
|
|
|
As a side note, the blogging platform is based on the Genode OS framework and
|
|
is of course open source
|
|
([https://github.com/genodelabs/genodians.org - GitHub repository]).
|
|
|
|
[https://genodians.org - Visit Genodians.org...]
|
|
|
|
|
|
Genode OS Framework release 19.02 | 2019-02-28
|
|
##############################################
|
|
|
|
| Version 19.02 enhances Sculpt OS with a federated software provisioning
|
|
| model, showcases the use of Java for an IoT network appliance and the
|
|
| creation of a component-based web service, improves the runtime support
|
|
| for Ada and SPARK, and adds board support for i.MX6 Quad Sabrelite and
|
|
| Nitrogen6 SoloX.
|
|
|
|
Our first release of 2019 pays tribute to this year's
|
|
[https://genode.org/about/road-map - road map] topic
|
|
of making Genode relevant and attractive for a broader community.
|
|
|
|
First, it enhances Sculpt OS with an easy-to-use way to discover, install,
|
|
and integrate software originating from different providers into a running
|
|
Sculpt system. Conversely, software providers get a distribution channel
|
|
directly to the user, secured by cryptographic signatures. Unlike commodity
|
|
OSes that rely on app stores or distributions, there is no middleman between
|
|
software providers and users in Sculpt OS.
|
|
|
|
Second, it makes the world's most popular programming language - Java -
|
|
available. Our port of OpenJDK facilitates just-in-time compilation on both
|
|
32-bit ARM and 64-bit x86 architectures. The use of Java within a Genode
|
|
system is nicely showcased by an exemplary IoT network appliance.
|
|
|
|
Third, to foster a strong sense of community, the release introduces a
|
|
Genode-based federated blogging platform, which enables users and
|
|
developers alike to share ideas, practical tips and tricks, and announcements.
|
|
[https://genodians.org - Genodians.org] is open for everyone to participate.
|
|
|
|
Other highlights of Genode 19.02 are the improved runtimes for the
|
|
Ada/SPARK and OCaml programming languages, and the added support for the i.MX6
|
|
Quad Sabrelite and Nitrogen6 SoloX boards.
|
|
For more details, please refer to the
|
|
[https:/documentation/release-notes/19.02 - release documentation of version 19.02...]
|
|
|
|
|
|
Road Map for 2019 | 2019-01-15
|
|
##############################
|
|
|
|
| In 2019, we will focus on practical use cases, on interoperability, and
|
|
| on harmonizing Genode with existing applications and programming languages.
|
|
|
|
The past Year of Sculpt was dedicated to bringing Genode to the desktop on
|
|
commodity PC hardware. Now is a good time to focus on making the Sculpt OS
|
|
relevant and appealing for a broader community. The road map for 2019 features
|
|
three major ambitions towards that goal. First, making Genode easier
|
|
approachable and usable by presenting practical use cases while fostering a
|
|
stronger sense of community among users and developers. Second, simplifying
|
|
the use of existing applications and programming languages in Genode-based
|
|
systems. And third, improving the interoperability of Genode with existing
|
|
protocols and systems.
|
|
|
|
The complete story behind the new road map is presented at the
|
|
[https:/about/road-map - road-map page].
|
|
|
|
|
|
Genode OS Framework release 18.11 | 2018-11-29
|
|
##############################################
|
|
|
|
| Genode 18.11 is focused on improving quality assurance on various fronts,
|
|
| including static code analysis, on-target test orchestration, and
|
|
| code-coverage measurements. Furthermore, it introduces support for Mirage-OS
|
|
| unikernels, a new health-monitoring mechanism, a Genode SDK, an SSH server,
|
|
| and a new window layouter.
|
|
|
|
On our road map for 2018, we identified software quality and resilience
|
|
as one of the major topics for this year. With the current release, we fulfil
|
|
this promise on various levels, ranging from static code analysis, over
|
|
the gathering of test-coverage metrics, a new Genode-based test-automation
|
|
framework, over to the health monitoring of components at runtime.
|
|
|
|
The second theme of the current release is the use of Genode for network
|
|
appliances and server applications. On that account, the new ability of
|
|
hosting Mirage-OS unikernels directly on top of Genode as well as a new SSH
|
|
server component clear the way to entirely new application areas.
|
|
|
|
Further highlights of the current release are the enhanced flexibility of the
|
|
GUI stack of Sculpt OS, the increased network performance on Xilinx Zynq, the
|
|
initial version of a Genode SDK, performance improvements of the base-hw
|
|
kernel on NXP i.MX platforms, and the updated language support for Ada and
|
|
Java.
|
|
|
|
These and many more topics of the new version are covered by the
|
|
[https:/documentation/release-notes/18.11 - release documentation of version 18.11...]
|
|
|
|
|
|
Dual licensing of 3rd-party Genode components | 2018-11-16
|
|
##########################################################
|
|
|
|
| To nurture a sustainable ecosystem around the Genode OS framework, we
|
|
| introduce a new approach for conducting dual-licensing businesses enabled
|
|
| by Genode.
|
|
|
|
Since founded ten years ago, Genode Labs pursues the Genode project based on a
|
|
dual-licensing business model, which allows us to fund the development of
|
|
Genode as an independent team. The licensing business is enabled by the
|
|
combination of the AGPLv3 as a strong copyleft license with the library-like
|
|
nature of Genode. Until today, this model is applicable to our framework but
|
|
impractical for 3rd-party component developers. To foster a sustainable
|
|
ecosystem around Genode, we wish to enable others to pursue a similar business
|
|
model while maintaining the spirit of open collaboration and free software.
|
|
|
|
We eventually crafted a new license called "Genode Component Public License"
|
|
(Genode CPL) specifically for components developed by 3rd parties, outside of
|
|
Genode Labs. The article
|
|
[https://genode.org/documentation/articles/component_public_license - Dual licensing of 3rd-party Genode components]
|
|
provides the rationale, license text, and FAQ of this software license.
|
|
|
|
|
|
Sculpt with Visual Composition | 2018-09-21
|
|
###########################################
|
|
|
|
| The third version of Sculpt OS introduces an interactive runtime view for
|
|
| managing components.
|
|
|
|
Sculpt with Visual Composition (VC) is the third stage of the evolution of our
|
|
Genode-based general-purpose OS. With the new version, we pursue the gradual
|
|
transition from a text-based user interface to a graphical user interface for
|
|
most administrative tasks while preserving the text-based interface for
|
|
full flexibility. The central element of the new user interface is a live view
|
|
of the current system composition and the relationships between components.
|
|
The live view is accompanied with a convenient graphical user interface for
|
|
adding and removing components.
|
|
|
|
The new version is available as a ready-to-use disk image. The updated
|
|
documentation covers everything from a quick-start guide, over a high-level
|
|
description of the architecture, to advanced topics like Sculpt's manifold
|
|
customization opportunities.
|
|
|
|
[https://genode.org/download/sculpt - Download Sculpt OS...]
|
|
|
|
|
|
Genode OS Framework release 18.08 | 2018-08-30
|
|
##############################################
|
|
|
|
| Genode 18.08 advances the framework's device drivers to accommodate modern
|
|
| PC hardware, introduces a new microcode-update mechanism for Intel CPUs, and
|
|
| enhances the networking and VFS infrastructure. With the new version,
|
|
| Sculpt OS enters the next stage by moving towards an interactive graphical
|
|
| user interface.
|
|
|
|
With Genode 18.08, we enter the third episode of our story of developing the
|
|
Sculpt general-purpose OS. The release addresses four crucial concerns of
|
|
general-purpose computing, namely the support of modern hardware, the
|
|
ability to timely respond to the discovery of new CPU-level vulnerabilities
|
|
by the means of applying microcode updates, the scalability of application
|
|
workloads, and the interactive usability of the system. The latter is
|
|
particularly exciting as Genode allows us to explore new user-interface
|
|
paradigms to lay the power of capability-based security into the hands of
|
|
the user.
|
|
|
|
The most prominent aspect of the current release is the framework's
|
|
device-driver support, which includes the update of all Linux-based drivers
|
|
to kernel version 4.16.3, a largely reworked wifi stack, the split of the
|
|
USB driver into multiple components, and improved hardware compatibility of
|
|
the PS/2 and network drivers. The release also introduces an experimental
|
|
runtime for hosting drivers of Google's Fuchsia OS as Genode components.
|
|
|
|
Among the many further improvements are an extended Ada language runtime,
|
|
added multi-processor support for our custom base-hw microkernel on x86,
|
|
the ability to route network traffic between an arbitrary number of
|
|
physical NICs, and a new way to select the networking stack of a
|
|
component between lwIP and the Linux TCP/IP by a mere configuration change.
|
|
|
|
All improvements are covered in detail by the
|
|
[https:/documentation/release-notes/18.08 - release documentation of version 18.08...]
|
|
|
|
|
|
Sculpt for The Curious | 2018-06-13
|
|
###################################
|
|
|
|
| The second incarnation of Sculpt OS comes in the form of a ready-to-use
|
|
| disk image.
|
|
|
|
Sculpt for The Curious is the second development stage of the Genode-based
|
|
general-purpose OS used at Genode Labs. Compared to the initial version, which
|
|
was targeted at early adopters only, the new version invites a broader user
|
|
base to explore the system. It comes in the form of a ready-to-use disk image
|
|
for a bootable USB thumb drive. Immediately after booting the Sculpt base
|
|
system, a graphical user interface enables the user to access and manage
|
|
storage devices, and to configure network connectivity. The actual "sculpting"
|
|
of the system is performed using a text-based interface, which is described in
|
|
the accompanied documentation. It covers everything from the configuration of
|
|
the base system up to the installation and deployment of software.
|
|
|
|
[https://genode.org/download/sculpt - Download Sculpt OS...]
|
|
|
|
|
|
Genode OS Framework release 18.05 | 2018-05-31
|
|
##############################################
|
|
|
|
| With Genode 18.05, we have reached the second stage of Sculpt OS,
|
|
| empowering the user with the automation of fundamental work flows and
|
|
| a new user interface for storage management and network access.
|
|
| Further highlights include the added support for Java, a new NVMe device
|
|
| driver, enhanced VFS infrastructure, and an updated revision of the Genode
|
|
| Foundations book.
|
|
|
|
Our [https://genode.org/about/road-map - Year of Sculpt] continues at a
|
|
rapid pace. The just released version 18.05 of the Genode OS Framework
|
|
features the second incarnation of the Sculpt general-purpose OS, targeting
|
|
the group of people who follow our project with curiosity. Sculpt for The
|
|
Curios (TC) introduces an interactive user interface for fundamental tasks
|
|
like selecting and managing storage options, or connecting to a network.
|
|
It completely streamlines the installation and deployment of additional
|
|
software by leveraging Genode's custom package-management system. The result
|
|
is an operating system with a flexibility and fun factor that strikes even us
|
|
with surprise.
|
|
|
|
The current release contains countless side products of this line work,
|
|
including the resolution-independent display of text, the dynamic adjustment
|
|
of user-level network routing, the flexible detection and management of
|
|
partitions and file systems, and the support of USB storage devices from
|
|
diverse vendors.
|
|
|
|
Beyond the immediate scope of Sculpt, the new version features the initial
|
|
support for the Java language, improves the Ada language support, enhances the
|
|
VFS infrastructure with new copy-on-write and audit plugins, and improves
|
|
the support for the NXP i.MX SoCs.
|
|
|
|
The entire picture is presented in detail by the
|
|
[https:/documentation/release-notes/18.05 - release documentation of version 18.05...]
|
|
|
|
|
|
Sculpt for Early Adopters | 2018-03-02
|
|
######################################
|
|
|
|
| A detailed step-by-step guide for installing and using the Genode-based
|
|
| Sculpt OS is available now.
|
|
|
|
Sculpt for Early Adopters (EA) is the first revision of our Genode-based
|
|
general-purpose OS. This version is targeted at enthusiasts who are already
|
|
familiar with Genode. The documentation covers everything needed to get
|
|
it running on a real machine. This includes disk preparation, input handling,
|
|
wireless networking, storage, software installation and deployment, and
|
|
virtualization.
|
|
|
|
*Printable version (pdf)* [https:/documentation/sculpt-ea.pdf]
|
|
|
|
*Online version* [https:/documentation/articles/sculpt-ea]
|
|
|
|
|
|
Genode OS Framework release 18.02 | 2018-02-28
|
|
##############################################
|
|
|
|
| Genode version 18.02 kicks off the Year of Sculpt by featuring the
|
|
| first revision of the Sculpt operating system for general-purpose
|
|
| computing. Further highlights of the new release range from
|
|
| network-stack improvements, over a new tracing utility, to the
|
|
| experimental use of the Nim programming language.
|
|
|
|
Since we announced the Year of Sculpt on our
|
|
[https://genode.org/about/road-map - roadmap], our team anticipated the
|
|
release of version 18.02 with excitement. The current release officially
|
|
presents the first revision of the Sculpt operating system, which is targeted
|
|
at the use of Genode as day-to-day OS. In fact, the system has been in
|
|
use internally at Genode Labs for several months. We feel confident in
|
|
sharing it with a broader community now.
|
|
|
|
Driven by the demands of Sculpt, the most prominent topics of this release
|
|
are Genode's new mechanisms for installing, updating, and deploying software
|
|
from within a running Genode system. Further highlights are the experimental
|
|
use of the Nim programming language for the implementation of Genode servers,
|
|
a new tracing utility that makes Genode's existing tracing infrastructure much
|
|
easier to use, improvements across the entire user-level networking stack, and
|
|
updates of many 3rd-party software packages.
|
|
|
|
These and many more topics are covered in detail by the
|
|
[https:/documentation/release-notes/18.02 - release documentation of version 18.02...]
|
|
|
|
|
|
Road Map for 2018 | 2018-01-17
|
|
##############################
|
|
|
|
| 2018 will be the year of Sculpt.
|
|
|
|
In autumn last year, a new Genode system scenario called "Sculpt" emerged.
|
|
By the end of 2017, all members of the Genode-Labs team switched to this
|
|
operating system on their laptops. The planning of 2018 revolves around the
|
|
ambition to expand the user base of Sculpt in several steps. Additionally,
|
|
the year will be focused on software quality, device-driver support for
|
|
popular ARM boards, Genode's custom kernel, and seL4.
|
|
|
|
The new road map is available at the [https:/about/road-map - road-map page].
|
|
|
|
|
|
Genode at FOSDEM 2018 | 2018-01-16
|
|
##################################
|
|
|
|
| Genode will participate in the microkernel developer room at FOSDEM with
|
|
| three presentations, covering our recent work on GPUs, user-level networking,
|
|
| and the dynamic sculpting of a Genode-based system.
|
|
|
|
The microkernel developer room at FOSDEM is the melting pot of the open-source
|
|
microkernel world where projects and users meet to present their work and
|
|
experience with microkernel-based operating systems. Like every year, we will
|
|
take the chance to present the recent developments of Genode to the audience.
|
|
If you are curious about the technology, or interested in meeting the people
|
|
behind the projects, please do not hesitate to join us at FOSDEM, which will
|
|
be held on 3rd - 4th of February in Brussels:
|
|
|
|
FOSDEM 2018: [https://fosdem.org/2018/]
|
|
|
|
This year, the following Genode-related topics will be presented:
|
|
|
|
Saturday 11:05 *GPU resource multiplexing in component based systems*
|
|
_Microkernel devroom (AW1.126)_
|
|
[https://fosdem.org/2018/schedule/event/microkernel_genode_gpu_multiplexing/ - abstract...]
|
|
|
|
Saturday 12:25 *Live sculpting a Genode-based operating system*
|
|
_Microkernel devroom (AW1.126)_
|
|
[https://fosdem.org/2018/schedule/event/microkernel_genode_live_sculpting/ - abstract...]
|
|
|
|
Saturday 17:30 *User-level networking on Genode*
|
|
_Microkernel devroom (AW1.126)_
|
|
[https://fosdem.org/2018/schedule/event/microkernel_genode_user_level_networking/ - abstract...]
|
|
|
|
The complete schedule of the developer room is available at
|
|
[https://fosdem.org/2018/schedule/track/microkernels/].
|
|
|
|
|
|
Genode OS Framework release 17.11 | 2017-11-30
|
|
##############################################
|
|
|
|
| Most of the many improvements of version 17.11 are geared towards the
|
|
| practical use of Genode as day-to-day OS. They include a reworked GUI
|
|
| stack, new user-input features, and the packaging of many components.
|
|
| The new version also revises the boot concept on x86, updates the seL4
|
|
| kernel, and enhances Genode's user-level networking facilities.
|
|
|
|
Whereas each Genode release is usually focused on one or two flagship
|
|
features, version 17.11 accumulated countless improvements made during the
|
|
practical use of Genode on a day-to-day basis. The topics range from
|
|
convenience features like scroll-wheel emulation for Lenovo trackpoints, over
|
|
the proper handling of keyboard modes (numlock and capslock), to a reworked
|
|
GUI stack that takes new usage patterns into account. Since the forthcoming
|
|
general-purpose scenario is entirely based on Genode's recently introduced
|
|
custom package-management concept, it prompted us to package all ingredients
|
|
of the scenario.
|
|
|
|
On the platform level, the new version streamlines the boot concept on x86
|
|
among all supported kernels. All x86 microkernels consistently use GRUB2 now.
|
|
Modern kernels like seL4, NOVA, or our custom kernel are able to boot via UEFI
|
|
and legacy boot. Speaking of our custom kernel, the current release wraps up a
|
|
long-term internal redesign that simplifies the kernel while improving its
|
|
performance.
|
|
|
|
Feature-wise, the new release further cultivates the use of the Nim
|
|
programming language for native Genode components, includes a port of
|
|
libretro-based emulators for game consoles, and enables the resizing of
|
|
libSDL-based applications like avplay.
|
|
|
|
The complete picture is presented in the official
|
|
[https:/documentation/release-notes/17.11 - release documentation of version 17.11...]
|
|
|
|
|
|
Genode OS Framework release 17.08 | 2017-08-30
|
|
##############################################
|
|
|
|
| Version 17.08 enables hardware-accelerated graphics on Intel-Gen8 GPUs
|
|
| and expands Genode's seL4-kernel support to the ARM and 64-bit x86
|
|
| architectures. Further topics are UEFI boot, VFS enhancements such as a
|
|
| new FatFS plugin, and the use of Genode as Xen DomU.
|
|
|
|
The new release bears the fruit of our long-term investigation of
|
|
hardware-accelerated graphics on modern Intel platforms that we conducted over
|
|
the past year. The result is a brand new low-complexity GPU multiplexer that
|
|
is designed after microkernel principles. With far less than 10K lines of
|
|
code, it paves the ground for leveraging the power of GPUs at an extremely
|
|
tiny footprint on the trusted computing base. The GPU multiplexer is
|
|
accompanied with the matching application-side library infrastructure such as
|
|
Mesa, libdrm, Qt5 bindings, SDL bindings. This allows Genode components to use
|
|
the GPU with standard APIs like OpenGL.
|
|
|
|
The seL4 microkernel is becoming more and more popular. Since about one year,
|
|
most Genode scenarios are able to use this kernel on the 32-bit x86
|
|
architecture. The growing interest in the combination of seL4 with Genode
|
|
prompted us to expand the architecture support to ARM and 64-bit x86 now.
|
|
Additionally, we enabled SMP on x86, priority support, and Genode's CPU-time
|
|
monitoring facility on this kernel.
|
|
|
|
Speaking of Genode's underlying kernels, the current release equips NOVA,
|
|
seL4, and our custom base-hw kernel with UEFI-boot support. It updates the
|
|
Muen separation kernel to a current version, and adds the ability to run
|
|
Genode as Xen DomU domains.
|
|
|
|
These and the many more topics of the new version are covered by the
|
|
[https:/documentation/release-notes/17.08 - release documentation of version 17.08...]
|
|
|
|
|
|
Genode OS Framework release 17.05 | 2017-05-31
|
|
##############################################
|
|
|
|
| With a profoundly updated framework infrastructure such as GCC 6.3,
|
|
| Qt 5.8, and VirtualBox 5.1.22 for NOVA, the just released version 17.05
|
|
| promises to be a suitable basis for longer-term maintenance and is
|
|
| accompanied with a new edition of the "Genode Foundations" book.
|
|
|
|
With the mid-year release of Genode, we hope to provide a solid basis for
|
|
long-living projects built on top of the framework. For this reason, we
|
|
updated the official tool chain as well as our ports of Qt and VirtualBox
|
|
to current versions, which are there to stay in the foreseeable future.
|
|
We also finalized the series of architectural and API-related changes that
|
|
we started one year ago. The release is accompanied with a new edition of
|
|
the "Genode Foundations" book that reflects the current state of the framework.
|
|
|
|
Feature-wise, the most visible improvement is a new approach and the
|
|
corresponding tooling for package management. While still officially declared
|
|
as experimental, it already becomes apparent that it will bring Genode to a
|
|
new level of scalability. Among the many further improvements are the support
|
|
for the Ada and Nim programming languages, a new timing API, and new tools for
|
|
monitoring network traffic and CPU load. All changes are covered in full
|
|
detail in the
|
|
[https:/documentation/release-notes/17.05 - release documentation of version 17.05...]
|
|
|
|
|
|
Google Summer of Code | 2017-03-01
|
|
##################################
|
|
|
|
| Genode will participate under the umbrella of the FOSDEM microkernel
|
|
| devroom as mentoring organization in this year's Google Summer of Code
|
|
| program.
|
|
|
|
Thanks to the initiative of Jakub Jermar and Martin Decky of the
|
|
HelenOS project, multiple prominent open-source microkernel projects submitted
|
|
a joint application to this year's Google Summer of Code (GSoC) program under
|
|
the umbrella of FOSDEM microkernel devroom.
|
|
|
|
As announced on the umbrella's [http://gsoc.microkernel.info - official GSoC page],
|
|
the involved projects are HelenOS, Redox, MINIX 3, and Genode. In anticipation
|
|
of the application, we have largely revisited our list of future technical
|
|
challenges:
|
|
|
|
*Genode-related topics:* [https://genode.org/about/challenges]
|
|
|
|
Those topics are meant as inspiration. It goes without saying that we
|
|
welcome other suggestions. If you are interested to participate in this
|
|
year's GSoC with a Genode-related topic, the following steps are best way
|
|
to get started:
|
|
|
|
Learn the basics about Genode by skimming through the
|
|
[https://genode.org/documentation/genode-foundations-16-05.pdf - Genode Foundations book],
|
|
downloading the code, and experimenting with a few simple example scenarios.
|
|
You will find the steps described in the book.
|
|
|
|
If this experience leaves a good impression on you, please continue with
|
|
making yourself known at the
|
|
[https://genode.org/community/mailing-lists - Genode mailing list] by posting
|
|
a short introduction of yourself, your primary interests, and possibly a topic
|
|
that you'd like to engage in. Please don't hesitate to consult the list with
|
|
any technical questions you might have. Note that the mailing list will be the
|
|
tool of choice for mentoring you during GSoC. Hence, you should be comfortable
|
|
in using it. Please keep in mind that friendly and concise written
|
|
communication is crucial for our project, and will thereby be an important
|
|
criterion for considering your application.
|
|
|
|
We thank Google for accepting the microkernel devroom as a mentoring
|
|
organization this year and look forward to GSoC students engaging with us!
|
|
|
|
|
|
Genode OS Framework release 17.02 | 2017-02-28
|
|
##############################################
|
|
|
|
| By introducing application binary interfaces, version 17.02 cultivates
|
|
| the cross-kernel binary compatibility of components. Furthermore, the
|
|
| new version comes with a vastly improved VFS infrastructure, new input-event
|
|
| processing capabilities, and a dynamic component-composition engine.
|
|
|
|
On the long road towards binary compatibility of Genode components across OS
|
|
kernels as different as L4, NOVA, seL4, or Linux, we reached a breakthrough by
|
|
mid of 2016. It took us another six months to fully cultivate this unique
|
|
feature and to integrate it seamlessly into our development work flows. With
|
|
the current version, we have ultimately reached the point where one can move
|
|
entire system scenarios from one kernel to another in just a few seconds.
|
|
|
|
With the improved virtual file-system (VFS) infrastructure that comes with the
|
|
new version, such system scenarios can become more and more sophisticated.
|
|
Genode takes the meaning of _virtual_ file systems to an entirely new level.
|
|
Not only does Genode virtualize the physical location of files but each
|
|
component can have its own VFS whereby the supported file-system types are
|
|
provided by VFS plugins. Those plugins can go as far as providing a TCP/IP
|
|
stack as showcased by Genode's use of the Linux TCP/IP stack as VFS plugin.
|
|
|
|
The composition of subsystems out of Genode components is another highlight of
|
|
the current release. In each Genode-based system, the init component already
|
|
plays a central role as it bootstraps the initial system components. Thanks to
|
|
Genode's recursive system structure, init can easily be nested. With the
|
|
improvements of the new version, such a nested init becomes a dynamic
|
|
system-composition engine that responds to configuration updates and applies
|
|
changes to its subsystem in a differential way.
|
|
|
|
These and many more improvements are covered in full detail in the
|
|
[https:/documentation/release-notes/17.02 - release documentation of version 17.02...]
|
|
|
|
|
|
Open-source license update | 2017-02-21
|
|
#######################################
|
|
|
|
| With the upcoming version 17.02, Genode will adopt the GNU Affero General
|
|
| Public License (AGPLv3) as its regular open-source license.
|
|
|
|
Since our first release in 2008, Genode has been available under two flavors
|
|
of licenses addressing different user bases. With Genode's regular open-source
|
|
license, we address the Free-Software community, researchers, and technology
|
|
enthusiasts. With the commercial license, Genode Labs enables product vendors
|
|
to leverage Genode's technology for their businesses.
|
|
|
|
For our open-source license, we originally picked the time-tested GNU General
|
|
Public License version 2 (GPLv2). However, the time did not stand still. After
|
|
9 years, it is time to update the license to a more recent version. After
|
|
careful review of the open-source licensing landscape, we settled on the GNU
|
|
Affero General Public License (AGPLv3), which is based on the GNU GPLv3 and
|
|
thereby rectifies several shortcomings of the GPLv2. Furthermore, it closes
|
|
loopholes of the GPLv3 license with respect to web applications. Unlike 2008
|
|
when most applications were programs executed directly on the end user's
|
|
computer, web applications have become predominant by now.
|
|
|
|
To address possible concerns about the interoperability of the AGPLv3 with
|
|
other open-source licenses, Genode's license will be accompanied with a
|
|
linking-exception clause that clarifies our consent to link Genode with all
|
|
commonly established open-source licenses.
|
|
|
|
In December, we presented our plan of the license change to the subscribers of
|
|
Genode's mailing list. The following constructive
|
|
[https://sourceforge.net/p/genode/mailman/genode-main/thread/585116C8.2020607%40genode-labs.com/#msg35550569 - discussion]
|
|
within the community helped us to refine our linking clause and to create a
|
|
common understanding of the rationale behind our licensing choice. Thanks to
|
|
everyone who participated in this discussion!
|
|
|
|
|
|
Road Map for 2017 | 2017-01-17
|
|
##############################
|
|
|
|
| The year 2017 will be overall focused on stressing the scalability and
|
|
| stability of the framework.
|
|
|
|
After wrapping up the revision of Genode's architectural underpinnings and its
|
|
API in 2016, it is time to push the scalability of the framework further.
|
|
Over the course of 2017, we plan to greatly ease the creation of Genode
|
|
systems out of packages, enable automated system updates, move our regular
|
|
work flows from GNU/Linux to the Genode world, and extend the application
|
|
scope of Genode systems to cloud-based appliances.
|
|
|
|
The new road map is available at the [https:/about/road-map - road-map page].
|
|
|
|
|
|
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 [https://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.
|
|
[https://genode.org/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" (https://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
|
|
[https://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="https://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="https://www.youtube.com/v/Z1IMV3FJO7Q">
|
|
: </embed>
|
|
: </object>
|
|
|
|
[https://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="https://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="https://www.youtube.com/v/CJdWOmajo_8?fs=1&hl=en_US"
|
|
: type="application/x-shockwave-flash" allowscriptaccess="always"
|
|
: allowfullscreen="true">
|
|
: </embed>
|
|
: </object>
|
|
|
|
[https://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 library
|
|
(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 [https://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.
|
|
|
|
[https://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://genode.org - https://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://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.
|
|
|
|
|