-
Building Rust projects with a custom profile
Starting with Rust 1.77, our Rust Goa projects were giving us trouble. My colleague Sebastian was quick to figure out and fix the initial runtime linking problem. However, with that out of the way, the applications would simply crash with a segfault. Continue...
-
A first complex Rust package
With the release of depot packages for Sculpt OS 23.10, we finally have all building blocks in place to build and run a Rust package without needing to locally build its Genode dependencies. Continue...
-
Enabling the upstream Rust toolchain
Release 23.05 reintroduced support for the Rust programming language to Genode, but our initial implementation relied on a slightly adapted Rust toolchain. As detailed in my previous blog post, we were working around issues with versioned FreeBSD libc symbols that were unsupported by our linker. Continue...
-
Bringing Rust back to Genode
Initial support for the Rust programming language was contributed to Genode release 16.05 by Waylon Cude, but it failed to get traction and was removed again with release 20.05. With the 23.05 release, we bring back Rust support from a different angle. Continue...
-
Goa tool under the umbrella of Genode Labs
The Goa project was started in 2019 with the ambition to streamline the workflows of application developers targeting Genode, and Sculpt OS in particular. I maintained and improved the tool off-and-on as a personal project over the years. Now, coordinated with the release of Sculpt OS 23.04, Goa has become an official Genode-Labs project. Continue...
-
Autoconf support is landing in Goa, Git comes to life
I'd like to share a few recent developments around Goa, which is a new tool for porting, building, and packaging Genode components. With autoconf, a third build system enters the picture, which, in turn, paves the ground for bringing software like Git over to Genode. Continue...
-
Let's encrypt Genodians.org: Extending Goa
Since the first days we're serving Genodians.org via HTTPS and retrieve the site certificate from https://letsencrypt.org/. Unfortunately, our current certificate-update process uses the quite complex Certbot tool, which requires Python 3 and around a dozen of libraries. Therefore, the process is run in a temporary Linux VM periodically by hand, and I'd like to replace this cumbersome procedure by a Genode subsystem in Genodians. Continue...
-
Goa updated to Genode 20.02
Now that Genode 20.02 is out of the door, it's a good time to update Goa to the match the most recent Genode version. Continue...
-
Goa - publishing packages
In the previous articles (1, 2, 3) about Goa, we created a minimalistic Unix system by combining Genode's ready-to-use building blocks with universally loved GNU software. Now it's time to publish our little creation so that it can be deployed directly on Sculpt OS. Continue...
-
Goa - sticking together a little Unix (part 3)
In the previous article, we went from a first life sign of the bash shell to an interactive scenario. Today, we spice up our little system with the magic potion of Unix, namely the presence of a collection of useful utilities and a mechanism to combine them. If someone asked me for one word condensing the essence of Unix, it would be "pipe". Off we go, plumbing! Continue...
-
Goa - sticking together a little Unix (part 2)
Let us transcend the simplistic bash scenario created in part 1 and enter the stage of an interactive system. Continue...
-
Goa - sticking together a little Unix (part 1)
Whereas the first article about Goa was concerned with building software using commodity build systems, this article takes you on a ride of creating a small Unix OS out of Genode's ready-to-use building blocks, publishing the result, and deploying it on top of Sculpt OS. Continue...
-
Goa - streamlining the development of Genode applications
The development of applications for Genode used to require a lot of learning about Genode's way of organizing source code, our custom build system, and the use of run scripts. With Goa, I introduce a new tool that aims at largely removing these burdens from application developers. Continue...


Norman Feske
Alexander Böttcher
Josef Söntgen
Stefan Kalkowski
Pirmin Duss
Benjamin Lamowski
Michael Grunditz
Christian Helmuth
Martin Stein
Sebastian Sumpf
Tomasz Gajewski
Johannes Kliemann
Valery Sedletski
Cedric Degea
Daniel Collins