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.
 
 
 
 
 
 
Harry Chen 3658e265a8
Update device tree file and add stub for SYS_RT_SIGQUEUE
6 years ago
bootloader aarch64: speed up page table map/unmap 6 years ago
crate Use new check_and_clone_cstr{,array} 6 years ago
docs add figure for some important rcore structures 6 years ago
kernel Update device tree file and add stub for SYS_RT_SIGQUEUE 6 years ago
tests Fix riscv32 testing 6 years ago
tools stage debug code for output 6 years ago
user@bf02e72b85 Support efault fixup for riscv 6 years ago
.gitignore Add conditional compilation for mipsel, fix heap size for thinpad 6 years ago
.gitmodules replace riscv-pk by OpenSBI ! 6 years ago
.travis.yml replace gnu binutils with cargo-binutils 6 years ago
Cargo.toml move bit-allocator and rcore-thread crate to remote 6 years ago
LICENSE update README. add LICENSE 6 years ago
README.md Update README 6 years ago
rust-toolchain Move to a newer rust toolchain with rls 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, MIPS32

Tested boards: QEMU, HiFive Unleashed, x86_64 PC (i5/i7), Raspberry Pi 3B+, Kendryte K210 and FPGA running Rocket Chip / TrivialMIPS

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

Maintainers

Module Maintainer
x86_64 @wangrunji0408
RISC-V @jiegec
ARM (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).