Linux Kernel Programming
In the winter semester 2023/24 I took part in the Linux Kernel Programming course at RWTH. But because I’m mainly a Mac user (and like a challenge), I decided to do the whole course on my M1 MacBook Pro (2020).
I mean, they are both Unix-like systems, right? What could possibly go wrong?
Well… a few things, actually. Some are connected with macOS itself, others with the ARM architecture. But I was determined to prove that it was possible.
I’ve split the setup into a few articles, each focusing on a different aspect of the setup.
- Compiling Linux kernel on macOS — decide if native is for you and the alternatives
- VS Code setup — autocompletion, formatting, linting etc.
- Debugging with QEMU —
kgdb
andqemu
setup ouichefs
— final project for this course
If you’re looking for the finished setup, it’s here. But to understand how it works, you’ll still probably have to read the articles. ;)
What does finished mean?
- Compile arm64 Linux kernel on macOS
- VS Code with auto-completion, formatting, linting etc.
- script to start
qemu
with the compiled kernel, configured for debugging withkgdb