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

    Compartmentalized window management in Sculpt OS


    When using Sculpt OS day-in day-out, the simple default window manager as introduced in the manual is quite limiting. This article presents an alternative that is able to remember window positions across reboots, swap out window decorations on the fly, and that empowers the user to modify the window layout directly via a textual interface. Continue...

  • Josef Söntgen avatar

    Using the Block::Request_stream API in the NVMe driver


    The NVMe driver component is switched to the Request_stream API in accordance to the road map, where consolidation of the Block-level components is scheduled for the upcoming 20.05 release. As a side-effect, things got a little bit simpler in the driver. Although being one of the first drivers to be converted to new the API it is late to the party nonetheless. Continue...

  • Alexander Böttcher avatar

    CPU affinity with Sculpt OS


    With the latest 20.02 Sculpt release we added support to configure the affinity and number of CPUs available to components running on Sculpt. The principal support was already part of the Genode framework since 13.08, but missed to be easily usable on previous Sculpt versions. Continue...

  • Christian Helmuth avatar

    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...

  • Norman Feske avatar

    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...

  • Stefan Kalkowski avatar

    Exploring the ARMv8 system level - Virtualization


    During last autumn, my colleague Alexander Boettcher and me wrote a virtual-machine-monitor for ARMv8 for Genode from scratch. It was an intensive teamwork and much more fun than just poring alone over some problem. In this fifth post about my ARMv8 first steps, I'd like to summarize some of the insights from this work. Continue...

  • Sebastian Sumpf avatar

    Building a Linux VM image for ARMv8


    This brief article summarizes the steps necessary to build a runnable Linux kernel and initrd disk image that can be executed on top of Genode's custom VMM for i.MX8 platforms. Continue...

  • Stefan Kalkowski avatar

    Exploring the ARMv8 system level - Multi-Cores


    Within the past months I collected some experiences with enabling Genode's own hw kernel on ARMv8 hardware platforms. A first series of posts covered the low-level first steps that had to be taken. In this forth part I like to summarize the insights gained by enabling multi-cores of the NXP i.MX 8M SoC, and by investigating several other SoCs and its SMP setup. Continue...

  • Norman Feske avatar

    FOSDEM 2020 in review


    FOSDEM and the microkernel developer room in particular was certainly one of the highlights of the year. In this posting, I share my personal impression of the event and a few links of interest. Continue...

  • Martin Stein avatar

    Running Genode in VirtualBox


    After I finished the most recent article about Spunky I received feedback from people who tried to run Sculpt OS with Spunky inside a VirtualBox VM and met some difficulties. While trying to reproduce the scenario, I noticed that there seems to be not much documentation about how to run Genode scenarios other than the ready-to-use Virtual-Appliance image from the Sculpt download page in VirtualBox. And there are a few pitfalls. Continue...

  • Martin Stein avatar

    Spunky #3: Desktop system, FOSDEM video, scheduler, plans


    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...

  • Norman Feske avatar

    Sculpt OS - FOSDEM 2020 Edition


    In my talk at FOSDEM, I present a brand new version of Sculpt OS. It is a preview of the upcoming release. For those of you who are eager to play with this version, I have put a downloadable image online. Continue...

  • Norman Feske avatar

    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...

  • Alexander Böttcher avatar

    Screencast on Sculpt OS


    From time-to-time the screen cast support on Genode pops up. Martin successfully ported avconv and demonstrated it back then in 2016. In the event of Sculpt OS, I lately had the chance to update the port and integrate it with Sculpt OS in form of packages ready for use. The following instructions will guide you through the setup. Additionally a short video recorded running on Sculpt is available. Continue...

  • Norman Feske avatar

    Pending Sculpt user-interface changes


    During our road-map discussion, I vaguely mentioned my plan to change the administrative user interface of Sculpt OS. This post is a response to John's inquiry for more details. Continue...

  • Alexander Böttcher avatar

    Graphical CPU utilization and monitoring tool (19.12)


    The top_view component is a tool using the tracing infrastructure of Genode to gather thread related information, e.g. execution time, and prepare them for graphical presentation. Lately the tool got some updates I want to share. Beside the textual post I also uploaded a short tutorial video. In order to test the current version, you will have to build the Sculpt OS image yourself. Continue...

  • Norman Feske avatar

    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...

  • Martin Stein avatar

    Spunky - Part 2: The Signals, The FOSDEM, and The Repository


    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...

  • Norman Feske avatar

    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...

  • Norman Feske avatar

    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...

  • Norman Feske avatar

    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 avatar

    The ARM SoC landscape from Genode's perspective


    We get repeatedly asked for our opinion about ARM system-on-chips (SoCs) suitable for the use with Genode. Even though Genode supports the ARM architecture since 2009, the answer has remained anything but simple. This article presents constraints faced by a small player attempting to realize an ARM-based product that deviates from the beaten track of using a Linux-based OS. It should not be regarded as ground truth but rather as the subjective perspective of Genode Labs. Continue...

  • Sebastian Sumpf avatar

    Simple tracing within Qemu


    I recently discovered Qemu's tracing feature. It is useful for examining the state of device models, like interrupt controllers or the CPU, or for observing the behavior of guest operating systems. As a simple example, lets enable tracing for ARM's interrupt controller called GIC. The device model resides in Qemu in the file hw/intc/arm_gic.c. In order to find out which trace events exist one can either grep for trace- or examine the file trace_events which resides in each directory that supports tracing. The file hw/intc/trace_events contains the following entries for ARM's GIC: Continue...

  • Christian Helmuth avatar

    Sculpt OS on HP EliteBook 840 G5


    A few weeks ago, I got hold of a brand-new HP EliteBook and was eager to find out how Sculpt OS may do on it. The specs promised a smooth ride but as always I had to face some hidden obstacles. Continue...

  • Norman Feske avatar

    New Challenges ahead


    We maintain a collection of future project ideas on a dedicated website. Today, I reviewed and updated the topics. Let me present the ideas. Continue...

  • Tomasz Gajewski avatar

    Exploring Genode Base HW with Raspberry Pi - further workflow automation


    In a previous article I described step by step how to prepare a Raspberry Pi and Genode build system to be able to almost automatically build and test compiled images on a device. There was one piece missing in this puzzle that made it incomplete: after each build device had to be started manually. This article describes my solution to this missing element. Continue...

  • Martin Stein avatar

    Invitation to the Genode Community Summer


    Recently, several requests reached us at Genode Labs from people interested in coming to Dresden for a certain period of time to work on their Genode project while beeing able to seek our assistance in person. To give this idea a dedicated space, Genode Labs will hold a new event, the "Genode Community Summer" this year. Continue...

  • Norman Feske avatar

    Speaking of Security


    The term security is overloaded to a point that makes it almost meaningless. On our website, we speak of Genode as a technology for building highly secure operating systems. But what does that even mean? Let's take a closer look at the security landscape at large, and our focus in particular. Continue...

  • 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...

  • Josef Söntgen avatar

    Download Debian VM and the VirtualBox Guest Additions reloaded


    With the release of Sculpt 19.07 and release of Debian 10 (Buster) it is about time to update the download_debian package as well. I briefly tested the VirtualBox guest-additions version 6.0.4 (that's the version provided in the non-free repository) by installing them directly from the .iso which appear to work well. Continue...

  • Tomasz Gajewski avatar

    Exploring Genode Base HW with Raspberry Pi - beginning


    It started few months ago. Continue...

  • Norman Feske avatar

    Copy and paste with Sculpt OS 19.07


    The upcoming Sculpt OS version 19.07 allows the user to copy and paste text between virtual machines, terminal windows, Qt5 applications, and the administrative interface (Leitzentrale). This article sheds light on the underlying mechanism and its security considerations, shows how to configure subsystems to use the new feature, and covers a few caveats you may encounter. Continue...

  • Stefan Kalkowski avatar

    Exploring the ARMv8 system level - Part 3


    Within the last weeks I collected some experiences with enabling Genode's own hw kernel on ARMv8 hardware platforms, and like to share it via genodians.org. In the first post I've described how to first create a non-functional dummy system image. In part 2, I wanted to show how easily you can develop and debug early system level startup code when using QEMU. This time I'll center on the exception level changes, and the flexible page-table layout in ARMv8. Continue...

  • Sebastian Sumpf avatar

    Tracing support for Genode's VFS


    I just published a new trace_fs component within my depot. It announces a file system that can be mounted, e.g. to a noux-system instance. The directory structure of the file system represents Genode's recursive parent child relationship. 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...

  • Stefan Kalkowski avatar

    Exploring the ARMv8 system level - Part 2


    In this blog series I write about my insights when porting Genode's hw kernel to ARMv8. In the first post I've described how to first create a non-functional dummy system image. In this post, I want to show how easily you can develop and debug early system level startup code when using QEMU. Continue...

  • Sebastian Sumpf avatar

    Enablement of Genode's ARMv8 support


    ARMv8 introduces a new 64 bit instruction set architecture (ISA). This implies that there exists a different general purpose register set as well as new instructions and opcodes that are not compatible with ARMv7 or ARMv6. While for high level languages like C or C++ the burden of opcode generation is transparently handled by the compiler, there are always cases (e.g, assembly, application binary interface, ELF format) that have to be handled specifically for each ISA. In this article I will describe the most important adaptions required to execute Genode on the ARMv8 architecture. Continue...

  • Stefan Kalkowski avatar

    Exploring the ARMv8 system level


    Recently I got the chance to explore the 64-bit ARM system level universe. Finally, there were resources left to implement support for the ARMv8 architecture in Genode's own hw kernel. In the following blog posts I'd like to summarize my insights. Continue...

  • Christian Helmuth avatar

    Modern look for the graphical terminal


    Some weeks ago, I was finally done with the wishy-washy Solarized Dark color theme in my terminals and searched for a palette rich of contrast but still pleasing to the eyes. The new color palette inspired me to a small coding project for our graphical terminal over the Hack'n'Hike weekend. 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...

  • Johannes Kliemann avatar

    SPARK as an extremum: Components in pure SPARK


    Some time ago Norman Feske wrote about C++ and SPARK as a continuum. His article shows how SPARK can be used to implement critical functionality in SPARK while implementing the core component in C++ on Genode. He further describes a set of rules to prevent unexpected side effects in SPARK. In short it boils down to stateless libraries written in SPARK that cannot interact with the environment but can consume and produce data. While this might sound restricted at first glance this approach can be used to strengthen the security of existing software such as parsers or protocol checkers that shield the C++ code from tainted data. We also applied this method successfully outside of Genode by replacing the C++ parser of the Fizz TLS library by our own SPARK implementation. Continue...

  • Norman Feske avatar

    Resurrecting Escape Paint with Hatari


    A recent series of events flared up my enthusiasm for Atari home computers. I just couldn't help but draft a plan of bridging this nostalgic trip with our modern-day Sculpt OS. 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...

  • Alexander Böttcher avatar

    Seoul VMM and the new VM interface


    In January I presented the ongoing work at the FOSDEM 2019 about the generalization of the virtualization interface on Genode for x86. Now the first bunch of commits entered Genode master for the Seoul VMM. 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...

  • Josef Söntgen avatar

    Wrapping build.conf to use it more conveniently


    The Genode build system uses GNU Make to build all components as well as to drive the run-tool for automated testing. A key piece is the build.conf file that for one configures the build system (specs, repositories etc. pp) and for the other sets various run-tool options. Over the years, instead of dealing with adapting the file directly, I started to use simple wrapper snippets to make testing on a variety of machines more convenient. Continue...

  • Guido Witmond avatar

    The case against Ambient Authority


    This blog is the third in a series on Genode for not-so-technical people. In these blogs I try to answer the question what Genode offers on safety and usability that other systems don't. Read the second part here. Continue...

  • Valery Sedletski avatar

    Physical Hard Disk Passthrough in Genode's version of VirtualBox.


    Here, I'll describe how to set up Linux booting from the physical Hard disk, and mounting several partitions. Here: http://genodians.org/skalk/2019-03-18-hybrid-packages described how to tweak VirtualBox for using your physical hard disk as a single "Block" session, and accessing it in an exclusive fashion. The disadvantage is that VirtualBox uses all your hard disk exclusively, so you will be unable to use it in Sculpt for your GENODE partition. In other words, your GENODE partition should be on a separate hard disk, or a flash stick. This may be inconvenient. So, I found how I could give to VBox a selected set of partitions only (/dev/sda9 being Linux root partition, /dev/sda8 being a Linux swap partition, /dev/sda7 was my data partition with Genode sources, formatted with JFS file system and /dev/sda1 was my second data partition, formatted as FAT32). And /dev/sda11 was my Genode partition. Continue...

  • Norman Feske avatar

    C++ and SPARK as a continuum


    SPARK is an Ada-inspired programming language for high-assurance computing. It was designed for the application of formal verification methods to real-world software. The prospect of bug-free software is music to our ears! I wonder, can there be a love affair between SPARK and Genode's predominant implementation language, C++? Continue...

  • Alexander Böttcher avatar

    Graphical CPU utilization and monitoring tool


    The top_view package is a tool using the tracing infrastructure of Genode to gather thread related information, e.g. execution time, and prepare them for graphical presentation. I already develop it for a while beginning with the early Sculpt versions. In the last weeks I extended it in my leisure time with some extra features, with the goal to selectively monitor behaviour of components of interest over some time. The main impulse was triggered during the work on audio on Sculpt, where I missed a basic online tool that supports me to get better insights into some behaviour of the system. Continue...

  • Guido Witmond avatar

    On Ambient Authority


    This blog is the second in a series on Genode for not-so-technical people. In the blogs I try to answer the question what Genode offers on safety and usability that other systems don't. Read the first part here. Continue...

  • Cedric Degea avatar

    HoG 19.0, bounties


    A few lines of news about HoG, and crossing fingers for wind in the bounties sails. Continue...

  • Alexander Böttcher avatar

    Updated packages for Sculpt CE


    With the image release of Genode's Sculpt CE yesterday, it is time to report about some updated packages of mine. Continue...

  • Norman Feske avatar

    Sculpt as a Community Experience


    We just released the fourth version of Sculpt OS today. It is subtitled "Sculpt as a Community Experience". In this posting, I'd like to explain what's behind this slogan. Continue...

  • Stefan Kalkowski avatar

    Tweaking existent packages to your needs


    Since the first Sculpt OS version, I have used several virtual-machines side-by-side. One for web-browsing, another for e-mail processing, and of course one for development purposes. At that time, I had some trouble using those three VMs at once with respect to performance and stability using the Rump Ext2 filesystem server. So, I decided to use dedicated partitions of my hard-drive for the VMs instead of image files as block device backend. Although, that early problems were solved, I've kept my already installed Linux VMs in the corresponding partitions. Continue...

  • Christian Helmuth avatar

    Remote-control your test target via power scripts


    In this post, I take Valerius's excellent article about remote booting and Intel AMT as an excuse for a detour from network-development setups into remote power control with Genode's run tool. Continue...

  • Sebastian Sumpf avatar

    System programming - wrestling with hardware


    As any system programmer knows, we do have to deal with a lot of uncommon bugs. So I like to take the chance to describe one we encountered a few days ago. After I had a demonstrator working for an ARM based system on a chip (SoC), the scenario suddenly started failing at random instructions at varying addresses and also in ever changing components. An example would be an illegal memory access (page fault) caused by this ARM instruction: Continue...

  • Valery Sedletski avatar

    Remote booting of x86 machines with PXE and Intel AMT


    Two weeks ago, I ordered a refurbished Thinkpad T420, which is compatible with many OS'es, including Genode/Sculpt. It is listed in cnuke's Genode unofficial HCL. So, I, from the beginning, wanted to set up the usual workflow of Genode developers. 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...

  • Alexander Böttcher avatar

    Disposal browser VMs


    Since the early beginning of Sculpt I host and maintain two packages for running an up-to-date Firefox as VM. My main motivation is to have the door to the Internet out-of my "work" VM, which contains all sorts of sensible data. Continue...

  • Josef Söntgen avatar

    Download Debian VM and the VirtualBox Guest Additions


    Since most of the previous launchers but a few vital ones are gone and superseded by the index mechanism, the download_debian package is now located in Depot → cnuke → Virtual Machines → download_debian. As Debian's guest-additions packages might target a newer VirtualBox host version it is now recommended to install them in a different way to properly match the currently supported host version. Continue...

  • Guido Witmond avatar

    On Microkernels versus Monoliths


    I like the Genode platform, it offers me a system that is much safer against all those bad things that threaten current systems. Computer viruses that cripple Mac, Windows and Linux are mostly eliminated. These become at most an annoyance, if they have any success at all. Also, the regulary patching to close security holes can become a faint memory. Here endeth the advertisement. Continue...

  • Sebastian Sumpf avatar

    A Java based network filter on i.MX6 SoloX


    With the recent advancements in home automation (smart home) and the Internet of Things (IoT), networking capable embedded technology has started to enter our working and home environments at an ever increasing pace. Often this leads to feature and performance driven developments that neglect the security implications of such environments. Is it desirable that the smart light bulb, when part of your local network, can access your Internet connection? Who does control the data flow in such scenarios? We think security must be an important measure in those environments, at least on par with the feature set. To accommodate the security requirements we introduce the following exemplary network filter scenario. Continue...

  • Sebastian Sumpf avatar

    FOSDEM'19 - Microkernel devroom (update)


    This is a follow up to my FOSDEM'19 post - that also has been updated. Norman's and Jakub's lightning talks are now available as MP4 and WEBM streams. Continue...

  • Alexander Böttcher avatar

    Native audio with Sculpt VC


    On the way back of FOSDEM 2019 I recognized that I missed to setup audio for my Sculpt VC machine. I used it already with Sculpt TC, but somehow I never took the time to re-integrate it with Sculpt VC. The next days after the FOSDEM trip I consulted my personal audio advisor -Josef- how to setup things. Continue...

  • Sebastian Sumpf avatar

    FOSDEM'19 - Microkernel devroom


    The year 2019 marked Genode Lab's turn to organize the Microkernels and Component-based OS devroom at FOSDEM 2019 in Brussels. The devroom has been established in 2012 and every year since, varying open-source organizations or private microkernel enthusiasts have taken over and passed the organization helmet on. We had a great time meeting familiar and new faces at the devroom and, in my personal opinion, we had an interesting mixture of talks this year. I especially want to thank the Unikernel speakers, since they brought a breath of fresh air into the devroom, while staying at eye-level regarding the technical skills required for systems programming. So, thank you! Continue...

  • Daniel Collins avatar

    On Overbroad Internet Comments


    Genode is not always remembered for its more remarkable accomplishments, but instead for less identifying features of the project. Many of these recollections evolve into critique based in aphoric generalisms about C++, of XML, or of microkernels. This has been especially true of Genode's choice of C++. I examine here why this is so, and why it tends to bring about less constructive conversation. Continue...

  • Cedric Degea avatar

    GUI chronicles 2: Mandelbrot


    Let's go short and sweet this week, with a "picture's worth a thousand words" situation report, and some continuation of community conversation. Continue...

  • Norman Feske avatar

    A convenient shortcut for working with test packages


    The train to FOSDEM was the perfect setting for creating a dirty little tool for quickly building and running single test packages. Continue...

  • Christian Helmuth avatar

    Getting started with Genode network developments


    Yesterday afternoon I had to take care of duties that kept me away from the office, so motivated by a question on the mailing list last week, I decided to write down some handy tips related to Genode developments and networking. Continue...

  • Sebastian Sumpf avatar

    A brief history of symbol maps on Genode


    When programming against Genode's shared libraries one might encounter things like this: Continue...

  • Stefan Kalkowski avatar

    Copy system state via JTAG


    Currently, I'm working on Genode to support NXP's i.MX7 Dual SABRE board. In the past, we had to manage a zoo of quite different ARM hardware here at Genode Labs including nightly builds and testing. The hardware was ranging from ARM1176 to Cortex A15, from Broadcom, Texas Instruments, Samsung to NXP SoCs. Having a variety of hardware is good for stressing the generic codebase and to make Genode attractive for different user groups, but hindering the development of a still moving kernel like Genode's hw. 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...

  • Alexander Böttcher avatar

    Locking up your Sculpt VC screen


    Using Sculpt on my working machine as day-to-day OS became quite comfortable. Still, some inconvenient stayed. One specific one appeared whenever I started for lunch - I wanted to lock the screen. Currently, this functionality is missing - because of that I had to power down my machine during lunch. Obviously, this is annoying - so I started to investigate how to solve the issue. Continue...

  • Josef Söntgen avatar

    Testing components directly on Sculpt via the depot user local


    Software is installed on Sculpt using the deploy mechanism that incorporates a caching component to keep the memory footprint for often used parts of the system constant. For the time being it is not contemplated to easily replace already loaded files and is therefor unsuited for testing components. However, there is still a way to perform the testing on Sculpt: the depot user local. Continue...

  • Cedric Degea avatar

    GUI basics 2: IPC


    This time around let's explore a few inter-related topics: Continue...

  • Norman Feske avatar

    Genode's Conscious C++ dialect


    C++ is a power tool that scales from embedded systems to the most complex software stacks imaginable. When we started Genode in 2006, the feature set of the language was extremely persuasive. It strikes a great balance of giving the programmer full control whenever needed while also featuring means of expressing high-level software designs. This power is a two-edged sword though. In this series of postings, I'd like to share how we learned to handle it without regrets. Continue...

  • Cedric Degea avatar

    GUI chronicles


    My next GUI basics post is delayed by one slot : I have made progress on haiku-on-genode and it's important – for my sanity if nothing else – to do a sort of "checkpoint" here first. Continue...

  • Christian Helmuth avatar

    How to prepare an x86 notebook for debugging


    For my first article on Genodians, I recorded my preparation steps to enable a recent notebook model for developments including the preservation of the OEM Windows installation, remote power control, and serial-over-lan logging. Continue...

  • Cedric Degea avatar

    GUI basics


    As mentionned on the mailing-list, TTS develops radio automation software for Haiku. We are in need of a second, stable platform. I thus intend to port our applications to Genode and yet preserve much of its source code and its use of the Haiku APIs – meaning I've embarked on e.g. writing a libbe.so that makes calls to Nitpicker and an RM-mapped framebuffer instead of sending RPC-like commands to an app_server as is the case in Haiku. Continue...

  • Norman Feske avatar

    A new place for sharing Genode-related stories


    Genodians.org presents ideas, announcements, experience stories, and tutorials around Genode, written by people like you and me. Genode users and developers are very welcome to join our tribe of authors! Continue...