You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
WangRunji b61a2c9dd2
Fix user project for new toolchain
6 years ago
crate Fit for newest Rust nightly. x86_64 ok, riscv32 broken. 6 years ago
docker Rewrite README. Add docker. 7 years ago
docs Update doc & README 6 years ago
kernel Only use Rust toolchain to build for rv32. Set arch to rv32i. x86_64 broken. 6 years ago
macOS-env Add homebrew files for macOS 7 years ago
riscv-env Update dockerfile 6 years ago
riscv-pk rv64 toolchain configure for riscv-pk 6 years ago
user Fix user project for new toolchain 6 years ago
.gitignore Add Cargo.lock 6 years ago
.gitmodules Fork crate `riscv` as a submodule 6 years ago
.travis.yml Update travis 6 years ago
Makefile Fix build guide 6 years ago
README.md Update README 6 years ago
status.md Update report 7 years ago

README.md

RustOS

Port to RISCV (WIP)

2018年THU计算机系统综合实验

Project Wiki

Documents

Environment

Dockerfile (Can not build directly. Just for reference)

Available on DockerHub: wangrunji0408/riscv-rust

How to run

git clone https://github.com/wangrunji0408/RustOS.git --recursive
cd RustOS
# Pull docker image and enter docker interactive shell
make docker_riscv
# Inside docker ...
cd kernel
# Patch the atomic mod of core lib
make patch-core
make run

Summary

Build Status

A project of THU OS2018 spring.

Project Wiki

MidReport

FinalReport

The goal is to write a mini OS in Rust with multicore supporting.

It will start from the post of the Writing an OS in Rust series. Then reimplement xv6-x86_64 in Rust style.

Building

You need to have nasm, grub-mkrescue, xorriso, qemu, a nightly Rust compiler, and xargo installed. Then you can run it using make run.

A docker image is available and recommanded. Read this for details.

License

The source code is dual-licensed under MIT or the Apache License (Version 2.0).