1
0
mirror of https://github.com/rcore-os/rCore.git synced 2024-11-22 16:16:16 +04:00
Rust version of THU uCore OS. Linux compatible.
Go to file
2019-03-25 21:36:10 +08:00
bootloader update URL to new organization 2019-03-18 11:55:06 +08:00
crate Fix a potential racing in Condvar 2019-03-24 23:53:09 +08:00
docs split Process and Thread 2019-01-25 23:28:48 +08:00
kernel update crate x86_64 to v0.5, bootloader to v0.4 2019-03-25 18:13:43 +08:00
riscv-pk@405ea59dd7 fix serial interrupt on HiFiveU 2019-03-19 18:23:10 +08:00
tests Improve test stability 2019-03-11 21:15:27 +08:00
tools Add pkttop.sh, bump user and drivers version 2019-03-20 23:02:12 +08:00
user@343574eb12 Silence sys_access and sys_chdir because rust sh use these now 2019-03-24 19:10:33 +08:00
.gitignore add aarch64 bootloader framework 2019-03-04 15:22:19 +08:00
.gitmodules update URL to new organization 2019-03-18 01:14:30 +08:00
.travis.yml Install libfuse in travis CI 2019-03-25 21:36:10 +08:00
Cargo.toml Implement O(1) scheduler and add comments for other schedulers 2019-03-24 22:22:44 +08:00
LICENSE update README. add LICENSE 2018-12-02 22:19:32 +08:00
README.md Fix qcow2, and add pci_passthru to MakeFile 2019-03-24 01:29:03 +08:00
rust-toolchain Move to a newer rust toolchain with rls 2019-03-25 13:00:09 +08:00

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