Titanos is an exercise in writing a kernel in Rust programming language.
Immediate goal is to complete basic functionality targeting ARMv8 (aarch64) and Vexpress board emulated by Qemu as a testing platform.
Everything is developed under Linux.
See status page for project status.
Follow .travis.yml
to understand how to set up toolchain and external requirements.
make
builds everythingmake run
to start the kernel inside Qemumake debug
to start the kernel inside Qemu waiting for GDB connectionmake gdb
to connect to Qemu instance started bymake debug
make objdump
to dump assembler from the binary
To build in release mode, use export RELEASE=1
.
Components:
src/
: source codert/
: basic C/ASM runtime- titanium.rs: Titanos is based on this collection of low-level macros, functions and constants that can be reused by other software targeting bare-metal development in Rust.
- arm_pl011.rs - Titanium.rs based PL011 uart driver.