1
0
mirror of https://github.com/rcore-os/rCore.git synced 2024-11-25 17:33:28 +04:00
Rust version of THU uCore OS. Linux compatible.
Go to file
chyyuu 734e01cc46 fix bug: sys_mmap didn't zero clean the anonymous memory
We can use delay mode or eager mode(in added comment codes)
WRJ's great work!
2019-04-25 16:00:29 +08:00
bootloader Merge remote-tracking branch 'origin/master' into mipsel 2019-04-01 23:32:30 +08:00
crate fix bug: sys_mmap didn't zero clean the anonymous memory 2019-04-25 16:00:29 +08:00
docs Add uboot instructions 2019-04-05 23:31:02 +08:00
kernel fix bug: sys_mmap didn't zero clean the anonymous memory 2019-04-25 16:00:29 +08:00
tests Change travis test arch from riscv64 to riscv32 2019-03-27 07:28:18 +08:00
tools works on K210! 2019-04-21 23:48:46 +08:00
user@8dbc0edb93 Now ready to use busybox sh for user shell 2019-04-17 08:16:02 +08:00
.gitignore .gitignore updated. 2019-04-12 13:10:34 +08:00
.gitmodules replace riscv-pk by OpenSBI ! 2019-04-20 00:15:55 +08:00
.travis.yml replace gnu binutils with cargo-binutils 2019-04-12 00:23:34 +08:00
Cargo.toml move bit-allocator and rcore-thread crate to remote 2019-04-04 12:45:55 +08:00
LICENSE update README. add LICENSE 2018-12-02 22:19:32 +08:00
README.md add maintainers to README 2019-04-16 13:11:29 +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, 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

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