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.

2.5 KiB

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, MIPS32

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 llvm-tools-preview
$ cargo install cargo-binutils
$ cargo install cargo-xbuild --force
$ cargo install bootimage --version 0.5.7 --force
$ git clone https://github.com/rcore-os/rCore.git --recursive
$ cd rCore/user
$ make sfsimg arch={riscv32,riscv64,x86_64,aarch64,mipsel} # requires $(arch)-linux-musl-gcc
$ cd ../kernel
$ make run arch={riscv32,riscv64,x86_64,aarch64,mipsel} mode=release
$ make run arch=x86_64 mode=release pci_passthru=0000:00:00.1 # for ixgbe real nic, find its pci (bus, dev, func) first

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