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.
 
 
 
 
 
 
Jiajie Chen 705505c543
Rearrange syscall order and implement dummy sys_fstatfs
6 years ago
bootloader update URL to new organization 6 years ago
crate Implement sys_readlink and improve sys_mremap 6 years ago
docs split Process and Thread 6 years ago
kernel Rearrange syscall order and implement dummy sys_fstatfs 6 years ago
riscv-pk@405ea59dd7 fix serial interrupt on HiFiveU 6 years ago
tests Improve test stability 6 years ago
tools Add pkttop.sh, bump user and drivers version 6 years ago
user@835568e205 Fix sys_mprotect with page alignment, dynamic loading seems working 6 years ago
.gitignore add aarch64 bootloader framework 6 years ago
.gitmodules update URL to new organization 6 years ago
.travis.yml auto open stdin/out/err for new proc. pass biscuit hello,cat,echo ... 6 years ago
LICENSE update README. add LICENSE 6 years ago
README.md update README 6 years ago
rust-toolchain use rust-toolchain file instead of rustup override 6 years ago

README.md

rCore

Build Status

Rust version of THU uCore OS Plus.

Going to be the next generation teaching operating system.

Supported architectures: x86_64, RISCV32/64, AArch64, MIPS (planned)

Tested boards: QEMU, HiFive Unleashed, x86_64 PC (i5/i7), Raspberry Pi 3B+

Dev docs (in Chinese)

demo

Building

Environment

See Travis script for details.

How to run

$ rustup component add rust-src
$ cargo install cargo-xbuild bootimage
$ git clone https://github.com/rcore-os/rCore.git --recursive
$ cd rCore/user
$ make sfsimg arch={riscv32,riscv64,x86_64,aarch64} # requires x86_64-linux-musl-gcc or musl-gcc
$ cd ../kernel
$ make run arch={riscv32,riscv64,x86_64,aarch64} mode=release

History

This is a project of THU courses:

  • Operating System (2018 Spring)
  • Comprehensive Experiment of Computer System (2018 Summer)
  • Operating System Train (2018 Autumn)
  • Operating System (2019 Spring)

Project wiki (internal access only): OS, CECS, OST

Reports (in Chinese): docs

It's based on BlogOS , a demo project in the excellent tutorial Writing an OS in Rust (First Edition).

License

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