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.

  1. Compiling Linux kernel on macOS — decide if native is for you and the alternatives
  2. VS Code setup — autocompletion, formatting, linting etc.
  3. Debugging with QEMUkgdb and qemu setup
  4. 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 with kgdb

  • apple silicon
  • linux kernel
  • macos
  • vs code
  • qemu
Content width
© 2023 - 2024 mastermakrela