2018-07-06 19:14:51 +04:00
# RustOS
2017-04-11 21:44:44 +04:00
2018-07-04 12:23:11 +04:00
## Port to RISCV (WIP)
2018-07-06 19:14:51 +04:00
2018年THU计算机系统综合实验
2018-07-04 12:23:11 +04:00
[Project Wiki ](http://os.cs.tsinghua.edu.cn/oscourse/csproject2018/group05 )
[Documents ](./docs/RISCV.md )
2018-07-06 19:14:51 +04:00
### Environment
[Dockerfile ](./riscv-env/Dockerfile ) (Can not build directly. Just for reference)
Available on DockerHub: `wangrunji0408/riscv-rust`
### How to run
```bash
git clone https://github.com/wangrunji0408/RustOS.git -b riscv --recursive
2018-07-16 09:37:26 +04:00
cd RustOS
2018-07-06 19:14:51 +04:00
# Pull docker image and enter docker interactive shell
make docker_riscv
# Inside docker ...
2018-07-16 09:37:26 +04:00
cd kernel
2018-07-12 18:46:07 +04:00
# Patch the atomic mod of core lib
make patch-core
2018-07-16 09:37:26 +04:00
make run
2018-07-06 19:14:51 +04:00
```
2018-07-04 12:23:11 +04:00
## Summary
2018-04-03 17:42:23 +04:00
[![Build Status ](https://travis-ci.org/wangrunji0408/RustOS.svg?branch=master )](https://travis-ci.org/wangrunji0408/RustOS)
2018-04-02 11:28:32 +04:00
A project of THU OS2018 spring.
2017-04-11 21:44:44 +04:00
2018-04-02 11:28:32 +04:00
[Project Wiki ](http://os.cs.tsinghua.edu.cn/oscourse/OS2018spring/projects/g11 )
2018-05-25 18:15:37 +04:00
[MidReport ](./docs/MidReport.md )
[FinalReport ](./docs/FinalReport.md )
2018-04-02 11:28:32 +04:00
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 ](http://os.phil-opp.com ) series. Then reimplement [xv6-x86_64 ](https://github.com/jserv/xv6-x86_64 ) in Rust style.
2017-04-11 21:44:44 +04:00
## Building
2017-04-18 17:21:11 +04:00
2018-04-02 11:28:32 +04:00
You need to have `nasm` , `grub-mkrescue` , `xorriso` , `qemu` , a nightly Rust compiler, and `xargo` installed. Then you can run it using `make run` .
2017-04-11 21:44:44 +04:00
2018-04-02 11:28:32 +04:00
A docker image is available and recommanded. Read [this ](docker/README.md ) for details.
2017-04-11 21:44:44 +04:00
## License
2018-04-02 11:28:32 +04:00
2017-04-11 21:44:44 +04:00
The source code is dual-licensed under MIT or the Apache License (Version 2.0).