wuchuguang / titanos

Titanos an exercise in writing OS kernel in Rust programming language.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Titanos

Build Status

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.

Building

Follow .travis.yml to understand how to set up toolchain and external requirements.

  • make builds everything
  • make run to start the kernel inside Qemu
  • make debug to start the kernel inside Qemu waiting for GDB connection
  • make gdb to connect to Qemu instance started by make debug
  • make objdump to dump assembler from the binary

To build in release mode, use export RELEASE=1.

Design

Components:

  • src/: source code
  • rt/: 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.

About

Titanos an exercise in writing OS kernel in Rust programming language.

License:MIT License


Languages

Language:Rust 72.2%Language:Makefile 15.0%Language:C 7.0%Language:Shell 3.5%Language:Assembly 2.3%