Create a Bootable Image for a Custom Kernel with GRUB as Bootloader for Legacy x86 Boot (e.g. Multiboot2 Kernel)

In this blog post, I want to show you how you can boot your custom (i.e., self developed, non-linux) kernel with GRUB 2 in a legacy x86 boot flow. The tutorial is focused on Linux as build environment. A working example can be found on my GitHub. Introduction When you are an OS developer/low-level hacker and write your own kernels, you need a setup to boot your software stack (i.e., kernel and user Read more…

Live Audio Visualization With Rust in a GUI Window

In early 2021 I had a closer look into several aspects of digital signal processing (DSP), including lowpass filters, frequency spectrum analysis, and audio visualization. I used Rust to experiment with this. The Rust ecosystem didn’t offer simple-to-use libraries for my use cases back then, or at least they were not easy to find. While I learned more about the topic, I created multiple crates, with the hope they may be helpful to Read more…

Screeshot: Live Audio Visualization of Waveform (original vs lowpass filter)
Screenshot of Sourcecode

Direct Systemcalls to Linux from Rust Code (x86_64)

What I show in this blog post is nothing new or unique, but it is something I wish someone would have shown me in this simplicity in my second or third semester at university. In this post, I briefly explain how you can talk to Linux without the libc or the Rust standard library (which uses libc behind the scenes most probably). Furthermore, I give you pointers to the corresponding syscall code in Read more…