Hey there!
This is a tutorial accompanying AArch-OS, designed as a guided introduction to the basics of OS development. It is created in the hopes of making the subject more accessible and providing a starting point for your own exploration.
The tutorial is highly practical, and I strongly encourage you to follow along and experiment with the code. I will be aiming to keep the amount of theory to a minimum as far as possible, while linking resources for further reading if you would like to dive deeper.
We will be starting from scratch and working towards a EFI-compatible ARM64 OS.
WIP
- What are we building?
- Why ARM64?
Enjoy the ride!
Setup
To simplify setup, we will be using the containerised environment used for building AArch-OS, as that has all the tooling we will need pre-installed. Follow the guide here to get it up and running.
Footnotes
-
Do keep in mind that this tutorial is not intended as documentation for the actual AArch-OS codebase. While the tutorial project is heavily based on the main codebase, it will likely end up a simplified version. Something resembling actual documentation can be found in the Documentation section of this wiki.
-
You are most welcome to contribute to this tutorial. The Markdown sources these pages are rendered from are in the main repository, under
docs/.