Site logo
Stories around the Genode Operating System RSS feed
  • Martin Stein avatar

    The Säntis System Summit in Summer 2019


    I must admit that I more or less stumbled into this wonderful event by chance. Not knowing what to expect exactly from the online presentation I was totally overwhelmed by the positive experience in the end. Not only provided the location at mountain Säntis in Appenzell a breathtaking scenery and the hotel was great, but, most of all, amongst all organizers and participants there was an enthusiastic, open-minded and relaxing atmosphere that made this (un)conference special to me. Continue...

  • Martin Stein avatar

    Type-safe bit access using the register framework


    Years ago, when I wrote my first device drivers for Genode, I found myself thinking about a very common problem in this area: MMIO regions that are structered with bit-granularity. Accessing such structures in C++ was normally done with hand-crafted bit arithmetics that not seldom ended-up in long cryptographic statements with raised error potential. Type-safety in this field is highly desirable to improve driver development but unfortunately not part of the basic C++ features. This initiated the development of the so-called MMIO framework in Genode, which later evolved into the more generic Register framework. Over the years, the Register framework has become the prefered tool to describe and access sub-byte structures of any type (not only MMIO) in Genode and has received a lot of handy features of which I'd like to give an overview in this article. Continue...

  • Martin Stein avatar

    User-friendly handling of missing ports in depot tools


    I enjoy the elegant and potent system behind packages in Genode. Therefore I found it particularly sad that, for me, a tiny, rather superficial issue always dimished the user experience: Missing archives of third-party code, called ports, are reported only one at a time, and each time, the user has to push the process forward manually. Because of this, building large packages like Sculpt with dependencies to over 20 of these ports, can become an annoying task. Continue...

  • Martin Stein avatar

    Spunky: A kernel using Ada - Part 1: RPC


    In this series of articles I'll illustrate a hobby project of mine that is trying to create a kernel for Genode written in Ada 2012. This project is not about writing a kernel from scratch but rather successively take parts from the existing base-hw kernel and translate them to Ada. Thus, the design mainly follows the approach taken with base-hw. To be able to test the already translated parts I link them together with the remaining parts from base-hw. The interfacing between the Ada and the C++ parts is done on the level of object methods. Over time, the code-base of the new kernel will become more and more Ada and less C++. Maybe later this work will also lead to some formal verification with SPARK but for now, I'm happy with Ada. So let's go! Continue...

  • Martin Stein avatar

    Integrating and running automated tests - Part 2


    In this article I'd like to give a very practical guide about how you can create, integrate and run your custom test scenarios on Genode. This is the second of two parts. If you have missed the first part, you may want to read it first. Continue...

  • Martin Stein avatar

    How to start my VM with the new Sculpt-CE preview


    Things have changed a bit with the revised software deployment in the recently published preview of Sculpt CE. No matter wether you are updating from Sculpt VC and have installed your VM following the Sculpt-VC documentation or whether you downloaded a fresh Debian with the Sculpt-CE preview - this brief walk-through might help you getting it to run (again). Of course, once Sculpt CE gets released, the added documentation will explain things way more comprehensive. Continue...

  • Martin Stein avatar

    Integrating and running automated tests - Part 1


    In this article I'd like to give a very practical guide about how you can create, integrate and run your custom test scenarios on Genode. In order to do so, I'll take a little real-life example and walk through the single steps of the very same procedure that I follow everytime I develop a new test. I'll try to concentrate rather on the big picture then on all the details. But in turn I'll give you pointers to further documentation whenever sensible. Continue...