x86 Kernel Development & Relocatable Binaries – What I learned about Toolchains and Relocatable Code

This post is roughly a summary of the obscure knowledge I learned about toolchains and relocatable code in the last couple of years by studying the code of the microkernels NOVA and Hedron, my professional hands-on experience with kernel development, and several learning projects. I present some of the “hard and not obvious” properties of producing kernel binaries, information that only stands “between the lines” in existing projects, and topics I didn’t find Read more…

Live-Migration of QEMU/KVM VMs with libvirt: Command Cheat Sheet and Tips

Since recently, I am working with libvirt to perform live-migration VMs with QEMU/KVM VMs (QEMU as VMM and KVM as hypervisor). A few things were not very clear nor well documented. Therefore, I’d like to provide you with this basic cheat sheet and a few tips and tricks. Likely I’m going to extend the list when I get more insights. Everything I’m telling here focuses on one of multiple use-cases of libvirt. libvirt Read more…

Configure a systemd Service to Perform Side Effects and Corresponding Cleanup

Problem and Motivation For a Linux-based demo setup, I need certain side effects and corresponding cleanup steps every time the system boots or relevant system configuration changes. I’m using NixOS, and systemd is the easiest and most powerful way to manage setup tasks at system startup or on substantial system configuration changes in NixOS. I didn’t need a daemon running in the background (which is the major purpose for systemd services), but specifically Read more…

Migrate Default NixOS Configuration to Flake

Although Nix flakes are still marked as unstable, they became the de facto standard for managing reproducible NixOS system configurations. Regarding NixOS system configurations, the major benefit of flakes is that they bundle nixpkgs (and possibly further dependencies) along with the configuration files. The nixpkgs version and the configuration files are no longer separate as they used to be! This is a major benefit and enables you to properly manage your NixOS system Read more…

Screenshow: Basic flake.nix for a NixOS System Configuration