Skip to content

SIG-SPL/rv6

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rv6

A riscv operating system written in rust.

Requirements

After installing rust, you need to switch to nightly and install the riscv64gc-unknown-none-elf target:

rustup override set nightly # switch to nightly in this directory
rustup target add riscv64gc-unknown-none-elf
cargo install cargo-binutils

For MacOS users, you can install qemu and riscv-gnu-toolchain with homebrew.

brew install qemu   
brew tap riscv/riscv
brew install riscv-gnu-toolchain

Run

make fs # build the filesystem image, only need to run once
make run

Debugging with gdb:

make debug
riscv64-unknown-elf-gdb # in another terminal

Features(Goal)

  • process manage and context switch
  • system call like xv6's
  • simple crash-free filesystem like xv6's
  • simple bootstrap compiler running inside the os(so we have everything in principle)
  • simple GUI

References

  • xv6 An awesome teaching os written in C.
  • Writing an OS in Rust A great blog about writing os in rust.
  • rCore A rust os project with Chinese documents.

About

A riscv operating system written in rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published