/rCore

Rust version of THU uCore OS. Linux compatible.

Primary LanguageCMIT LicenseMIT

rCore

CI

Rust version of THU uCore OS Plus.

Going to be the next generation teaching operating system.

Supported architectures and boards:

  • x86_64(Tier 1): QEMU, PC (i5/i7)
  • RISCV32/64(Tier 2): QEMU, HiFive Unleashed
  • AArch64(Tier 2): QEMU, Raspberry Pi 3B+
  • MIPS32(Tier 3): QEMU, TrivialMIPS

demo

What's included

rCore has the following features:

  • Linux compatible syscall interface: run Linux userspace programs
  • Network stack
  • Simple file system
  • Signal system
  • Async IO
  • Kernel module

Building

Environment

Setup on Linux or macOS:

$ rustup component add rust-src llvm-tools-preview

Or use Docker container:

$ docker run -it -v $PWD:$PWD -w $PWD wangrunji0408/rcore

How to run

$ git clone https://github.com/rcore-os/rCore.git --recursive
$ cd rCore/user
$ make sfsimg PREBUILT=1 ARCH=x86_64
$ cd ../kernel
$ make run ARCH=x86_64 LOG=info

See Makefile for more usages.

Maintainers

Module Maintainer
x86_64 @wangrunji0408
RISC-V @jiegec
AArch64 (Raspi3) @equation314
MIPS @Harry_Chen @miskcoo
Memory, Process, File System @wangrunji0408
Network with drivers @jiegec
GUI @equation314

History

This is a project of THU courses:

Reports and Dev docs (in Chinese)

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