[go: up one dir, main page]

Skip to content
forked from rcore-os/rCore

Rust version of THU uCore OS. Linux compatible.

License

Notifications You must be signed in to change notification settings

elliott10/rCore

 
 

Repository files navigation

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+

demo

Building

Environment

See Travis script for details.

How to run

Install appropriate dependencies to Host:

$ rustup component add rust-src llvm-tools-preview
$ cargo install cargo-binutils --version 0.1.7
$ cargo install bootimage --version 0.5.7

#git clone cargo-xbuild from github, then checkout tag v0.5.6. 
#Apply patch: https://github.com/rust-osdev/cargo-xbuild/pull/75/commits/eede1a1d4c08064763f1943c0920de2270260b33
#OR just pull: https://github.com/elliott10/cargo-xbuild.git

#When `cargo xbuild`, you can use a local `rust-src`: 
#`export XARGO_RUST_SRC=~/.rustup/toolchains/nightly-2019-03-05-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/`
$ cargo install cargo-xbuild --path /path/to/cargo-xbuild/

Run rCore:

$ 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

#eg: QEMU
$ make run arch=riscv32
#OR
$ make run arch=riscv64

#eg: k210 riscv64
$ make install arch=riscv64 board=k210 mode=debug

Maintainers

Module Maintainer
x86_64 @wangrunji0408
RISCV @jiegec
ARM (Raspi3) @equation314
MIPS @HarryChen @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).

About

Rust version of THU uCore OS. Linux compatible.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 82.0%
  • Python 13.3%
  • Assembly 2.6%
  • Makefile 1.4%
  • Shell 0.5%
  • C 0.2%