STM32 Nucleo-L4R5ZI Development Board

Setup Jetbrains Clion IDE with STM32CubeMX project for development on STM32 Microcontrollers – Mac

I’ve managed to setup programming and debugging a STM32 Nucleo-L4R5ZI development board with Jetbrains Clion IDE on my Mac. If you need the same for Windows, I got your back! This tutorial should work for all STM32 based Microcontrollers with a debug interface (JTAG) that is supported by OpenOCD. I used a STM32 Nucleo-L4R5ZI board. I want to share my findings with you. In this tutorial you have to install Java (required for Read more…

Trace of Verb Calls in RDMA Communication in Linux (How does RDMA communication work)

For an uni project at TU Dresden I had to work with the RDMA implementation inside Linux. I think that RDMA in Linux is terribly poorly documented and there are only a few good resources. I want to share with you the findings I made that I wish I had at the beginning. A few findings to better understand how the RDMA stack works and what an RDMA connection actually is. I can’t Read more…

Trace of verbs invoked on sender and receiving side in simple RDMA to RDMA communication. The trace was captured for "RXE to RXE" device communication using the tool "ib_send_bw" from the "rdma perftools" project.

Develop Linux Kernel Modules with CLion IDE

I’m currently working on a Linux kernel module. CLion is my favorite IDE but out of the box it doesn’t work for Linux kernel development. It doesn’t find Linux include files for example. I created this little demo project that hopefully helps you to use CLion for Linux development! This setup only helps CLion to do proper auto suggestions and other convenient IDE stuff, but doesn’t automatically build the kernel module. For this Read more…

Example for Implementing a Custom Netlink Family in Userland (C & Rust) + Linux Kernel Module for IPC Using Generic Netlink

Netlink is one of the nicer interfaces to communicate between userland and Linux kernel (IPC), but it’s still quite hard/complex, tho. For an uni project I had to figure it out how to communicate between userland and a self written Linux kernel module using the generic part of the netlink protocol. Because it was quite tough, I want to share my findings with the open source world. I chosed Rust as the language Read more…

Netlink code snippet (kernel code)

Running NGINX with Docker with Let’s Encrypt certificates outside of the container

In this post I want to explain briefly how I solved the problem to run NGINX with docker but keep the let’s encrypt certificates outside of the Docker image. Some approaches include the certificates into the container during the build, i.e. they are generated in the docker image. I wanted to decouple certificates and NGINX. Here’s my approach. It assumes you have docker and certbot (Let’s Encrypt) already installed. 1. Get the certificates Read more…