Skip to content
/ titanos Public

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

License

Notifications You must be signed in to change notification settings

dpc/titanos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published