https://github.com/dpc/titanos
Titanos an exercise in writing OS kernel in Rust programming language.
https://github.com/dpc/titanos
Last synced: 8 months ago
JSON representation
Titanos an exercise in writing OS kernel in Rust programming language.
- Host: GitHub
- URL: https://github.com/dpc/titanos
- Owner: dpc
- License: mit
- Created: 2015-03-16T06:52:54.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2016-08-19T22:37:04.000Z (almost 10 years ago)
- Last Synced: 2025-01-09T23:38:06.514Z (over 1 year ago)
- Language: Rust
- Size: 51.8 KB
- Stars: 74
- Watchers: 14
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Titanos
[](https://travis-ci.org/dpc/titanos)
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](//github.com/dpc/titanos/wiki/Status) 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][titanium]: 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][arm_pl011] - [Titanium.rs][titanium] based PL011 uart driver.
[titanium]: //github.com/dpc/titanium.rs
[arm_pl011]: //github.com/dpc/titanium_arm_pl011.rs