Site logo
Stories around the Genode Operating System RSS feed
  • Norman Feske avatar

    Pine fun - Cutting Linux-driver competencies

    The previous episodes of the article series covered the challenges of transplanting complex driver code from the Linux kernel into Genode components. Once running happily in its new habitat, however, the driver code needs a heavy dose of domestication. This article shows how to curb the driver code from the overarching access of power, reset, pin, and clock controls. Continue...

  • Norman Feske avatar

    Pine fun - Touchscreen

    On our mission to enable the PinePhone hardware for Genode piece by piece, let's turn our attention to the touchscreen device, which is the gateway to interactive system scenarios. Continue...

  • Norman Feske avatar

    A C++ inlining anecdote

    During my recent work on the management component of Sculpt OS, the compile time of this particular component started to bother me. Moreover, the size of the resulting binary raised my eyebrows. So I took a closer look. Continue...

  • Norman Feske avatar

    Pine fun - Kernel packaging and testing

    With our toes still a bit frozen from testing the waters of the user land, we now take the remaining steps towards a cultivated Genode life, largely automating our work flow, packaging the kernel, and testing the platform like there is no tomorrow. Continue...

  • Norman Feske avatar

    Pine fun - Excursion to the user land

    Equipped with the rudimentary debugging skills presented in the previous article, it is time to conquer the remaining stumbling blocks on our way to the user land. Continue...

  • Norman Feske avatar

    Pine fun - How did we come here?

    Some kids from the city once told me about programs called "debuggers". They also use a technology named "green light" to cross the streets. City kids. As we are still far away from urban territory, we are in need of the rural ways of debugging. What are our options? Continue...

  • Norman Feske avatar

    Pine fun - Kernel skeleton

    Of the several kernels supported by the Genode OS framework, the so-called base-hw kernel is our go-to microkernel for ARM-based devices. Section Execution on bare hardware of the Genode Foundations book goes into detail about its underlying software design. This article describes the process of porting this kernel to a new board, specifically the Pine-A64-LTS single-board computer. Continue...

  • Norman Feske avatar

    Pine fun - Bare-metal serial output

    For low-level kernel-bootstrapping work, we need a primitive way to print debug messages over a serial connection. This article goes through the steps of executing custom code on bare-metal hardware with no kernel underneath, and attaining serial output by poking UART device registers directly. Continue...

  • Sebastian Sumpf avatar

    Debugging complex software stacks on Genode Linux

    When dealing with large and especially ported software stacks on Genode, sophisticated debugging facilities become a must have. One way to achieve this is to develop or port your software stacks on Genode Linux and take advantage of the GNU Debugger (GDB). Of course this is not possible for low level software, like device driver or kernel, but in general useful for anything that does not access hardware directly. In this article I will describe a hands on experience example on how to debug Java using GDB. Continue...