Skip to content
christopher dedman rollet

Open source

AstraKernel

A minimal experimental kernel for ARM, booted on QEMU’s Versatile board with a Cortex-A8 override.

========================================
  AstraKernel  v0.1.0
  Built Aug 27 2025 at 12:56:35
========================================

  CPU: Cortex-A8 @ 200MHz (simulated)
  RAM: 128MB SDRAM at 0x00000000

Welcome to your own little Astra world!
Type away, explore, have fun.

AstraKernel is a minimal experimental kernel written in modern C and ARM assembly, designed to run on QEMU’s Versatile AB/PB board with a Cortex-A8 CPU override (-cpu cortex-a8). That setup keeps the simple Versatile peripheral map while enabling ARMv7-A features to experiment with. The purpose is educational: it shows the fundamental steps of bringing up a bare-metal system, from low-level bootstrapping through to higher-level interactive features.

Approach

Rather than recreating the complexity of a production operating system, the goal is to strip away unnecessary abstraction and present a clean, readable codebase for anyone interested in the bare-metal foundations of computing. Kernel bootstrapping, direct hardware communication, and basic user interaction are implemented plainly, so it stays legible.

The design pushes on modularity and extensibility. Modern C practice is used throughout to keep the code maintainable and portable while remaining accessible to people new to kernel development, which means new features can be added without unpicking what is already there.

Documentation

I document the development process and design decisions as the project evolves, and built a GitHub Actions pipeline that generates the Doxygen documentation and publishes it to GitHub Pages on every change. Contributions, feedback, and suggestions are welcome.

AstraKernel booted in QEMU, and its console commands.