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-09-11 23:48:10 +08:00
bootloader aarch64: map framebuffer & set mem attr in bootloader 2019-09-02 21:46:41 +08:00
crate fix deprecated warnings 2019-07-24 22:43:15 +08:00
docs x86_64: switch from legacy BIOS to UEFI. use rboot as new bootloader 2019-09-04 10:37:31 +08:00
kernel Bump rcore-console version, fixing mipsel compilation 2019-09-11 23:48:10 +08:00
modules/hello_rust Unify build{-aarch64}.sh 2019-06-16 09:34:41 +08:00
rboot@aa1d4afe97 x86_64: switch from legacy BIOS to UEFI. use rboot as new bootloader 2019-09-04 10:37:31 +08:00
tests Fix riscv32 testing 2019-05-03 15:17:06 +08:00
tools update OpenSBI to v0.4 for QEMU virt machine 2019-07-24 22:43:22 +08:00
user@496a65e1d5 aarch64: map framebuffer & set mem attr in bootloader 2019-09-02 21:46:41 +08:00
.gitignore Basic loadable kernel module support, with a module template written in Rust. 2019-06-07 20:59:51 +08:00
.gitmodules x86_64: switch from legacy BIOS to UEFI. use rboot as new bootloader 2019-09-04 10:37:31 +08:00
.travis.yml update travis script 2019-08-07 16:35:38 +08:00
LICENSE update README. add LICENSE 2018-12-02 22:19:32 +08:00
README.md x86_64: switch from legacy BIOS to UEFI. use rboot as new bootloader 2019-09-04 10:37:31 +08:00
rust-toolchain Bump rust version to newer nightly and use acpi crate to print acpi info 2019-06-30 03:41:50 +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, 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
$ 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).