1
0
mirror of https://github.com/rcore-os/rCore.git synced 2024-11-23 00:16:17 +04:00
Rust version of THU uCore OS. Linux compatible.
Go to file
2018-07-13 11:23:01 +08:00
crate Fix kernel thread 2018-07-13 01:45:48 +08:00
docker Rewrite README. Add docker. 2018-04-02 15:28:32 +08:00
docs Update doc & README 2018-07-12 22:46:17 +08:00
macOS-env Add homebrew files for macOS 2018-04-03 14:49:26 +08:00
riscv-env Update dockerfile 2018-07-05 00:18:53 +08:00
riscv-pk Move kernel base to 0x80020000 2018-07-12 22:44:34 +08:00
src Move x86_64 specific external crate to arch mod 2018-07-13 11:23:01 +08:00
user Add ucore & xv6-x86_64 user program img file. 2018-05-21 22:49:22 +08:00
.gitignore Generate vector.asm by build.rs. 2018-05-20 23:56:41 +08:00
.gitmodules Fork crate riscv as a submodule 2018-07-05 14:17:30 +08:00
.travis.yml Try to update travis 2018-07-06 23:23:02 +08:00
build.rs Add bbl as bootloader 2018-07-04 16:23:11 +08:00
Cargo.toml Fix log crate 2018-07-12 20:46:02 +08:00
Makefile Experimental patch for core::sync::atomic on RISCV32I 2018-07-10 01:32:05 +08:00
README.md Update doc & README 2018-07-12 22:46:17 +08:00
riscv32-blog_os.json Experimental patch for core::sync::atomic on RISCV32I 2018-07-10 01:32:05 +08:00
status.md Update report 2018-06-15 11:50:51 +08:00
x86_64-blog_os.json Set the panic strategy to abort to fix _Unwind_Resume errors 2017-11-19 10:30:36 +01:00
Xargo.toml Clear all code, make it compile for RISCV in docker. 2018-07-03 22:27:55 +08:00

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 -b riscv --recursive
cd RustOS
# Pull docker image and enter docker interactive shell
make docker_riscv
# Inside docker ...
# Patch the atomic mod of core lib
make patch-core
make build
make justrun

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).