|
AstraKernel v0.1.0
A minimalist experimental ARM kernel
|
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). This setup keeps the simple Versatile peripheral map while enabling ARMv7‑A features for experimentation. The purpose is educational, showing the fundamental steps of bringing up a bare-metal system, from low-level bootstrapping to higher-level interactive features to explore kernel development concepts.
versatilepb (or versatileab)cortex-a8 (via -cpu cortex-a8)Later, the kernel may relocate vectors using VBAR once the MMU is enabled.
Make sure you have an ARM cross-compiler installed (e.g., arm-none-eabi-gcc) and qemu-system-arm.
Developers also have the option to run the kernel with custom flags, such as:
[!IMPORTANT]
makewill clean, build, and run the kernel in QEMU. You can also run
make qemu to run the kernel without cleaning or building it again.
If you have Docker installed, you can also run AstraKernel through a Docker container:
[!IMPORTANT]
make dockerwill pull from the most recentmaincommit from the upstream repositoryhttps://github.com/sandbox-science/AstraKernel.git. If you wish to use a local copy, you can runmake docker-dev, which will copy all local build files into the repository.
For more details about this kernel, refer to the AstraKernel Documentation.
[!NOTE]
The manual is a work in progress and may not cover all features yet.
AstraKernel is an educational project created to demonstrate operating system concepts. It is currently in version and should be considered experimental software.
By using AstraKernel, you acknowledge that you understand these limitations.
This project is licensed under the GNU General Public License. See the [LICENSE](LICENSE) file for details.