All Projects → rcore-os → Rcore

rcore-os / Rcore

Licence: mit
Rust version of THU uCore OS. Linux compatible.

Programming Languages

rust
11053 projects
python
139335 projects - #7 most used programming language
Makefile
30231 projects
assembly
5116 projects
shell
77523 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Rcore

interp
Interpreter experiment. Testing dispatch methods: Switching, Direct/Indirect Threaded Code, Tail-Calls and Inlining
Stars: ✭ 32 (-98.53%)
Mutual labels:  mips, x86-64, riscv, aarch64
Tengine
Tengine is a lite, high performance, modular inference engine for embedded device
Stars: ✭ 4,012 (+84.46%)
Mutual labels:  x86-64, mips, riscv
Capstone
Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings.
Stars: ✭ 5,374 (+147.08%)
Mutual labels:  x86-64, riscv, mips
Cemu
Cheap EMUlator: lightweight multi-architecture assembly playground
Stars: ✭ 666 (-69.38%)
Mutual labels:  x86-64, aarch64, mips
Unisimd Assembler
SIMD macro assembler unified for ARM, MIPS, PPC and x86
Stars: ✭ 63 (-97.1%)
Mutual labels:  x86-64, aarch64, mips
novusk
A kernel written in Rust
Stars: ✭ 61 (-97.2%)
Mutual labels:  x86-64, riscv, aarch64
Unicorn
Unicorn CPU emulator framework (ARM, AArch64, M68K, Mips, Sparc, PowerPC, RiscV, X86)
Stars: ✭ 4,934 (+126.85%)
Mutual labels:  x86-64, mips, riscv
Keystone
Keystone assembler framework: Core (Arm, Arm64, Hexagon, Mips, PowerPC, Sparc, SystemZ & X86) + bindings
Stars: ✭ 1,654 (-23.95%)
Mutual labels:  x86-64, mips
Arm now
arm_now is a qemu powered tool that allows instant setup of virtual machines on arm cpu, mips, powerpc, nios2, x86 and more, for reverse, exploit, fuzzing and programming purpose.
Stars: ✭ 719 (-66.94%)
Mutual labels:  x86-64, mips
Docker Homebridge
Homebridge Docker. HomeKit support for the impatient using Docker on x86_64, Raspberry Pi (armhf) and ARM64. Includes ffmpeg + libfdk-aac.
Stars: ✭ 1,847 (-15.08%)
Mutual labels:  x86-64, aarch64
Keypatch
Multi-architecture assembler for IDA Pro. Powered by Keystone Engine.
Stars: ✭ 939 (-56.83%)
Mutual labels:  x86-64, mips
Remill
Library for lifting of x86, amd64, and aarch64 machine code to LLVM bitcode
Stars: ✭ 633 (-70.9%)
Mutual labels:  x86-64, aarch64
Rop Tool
A tool to help you write binary exploits
Stars: ✭ 590 (-72.87%)
Mutual labels:  x86-64, mips
Steed
[INACTIVE] Rust's standard library, free of C dependencies, for Linux systems
Stars: ✭ 520 (-76.09%)
Mutual labels:  aarch64, mips
Rappel
A linux-based assembly REPL for x86, amd64, armv7, and armv8
Stars: ✭ 818 (-62.39%)
Mutual labels:  x86-64, aarch64
Reko
Reko is a binary decompiler.
Stars: ✭ 942 (-56.69%)
Mutual labels:  x86-64, aarch64
Os2
x86_64 OS kernel with completely async userspace and single address space [WIP; but basic kernel functionality implemented]
Stars: ✭ 25 (-98.85%)
Mutual labels:  x86-64, osdev
Dennix
Dennix is a unix-like hobbyist operating system written from scratch.
Stars: ✭ 53 (-97.56%)
Mutual labels:  x86-64, osdev
Mir
A light-weight JIT compiler based on MIR (Medium Internal Representation)
Stars: ✭ 1,075 (-50.57%)
Mutual labels:  x86-64, aarch64
Dgos
Operating System
Stars: ✭ 90 (-95.86%)
Mutual labels:  x86-64, osdev

rCore

CI

Rust version of THU uCore OS Plus.

Going to be the next generation teaching operating system.

Supported architectures and boards:

  • x86_64(Tier 1): QEMU, PC (i5/i7)
  • RISCV32/64(Tier 2): QEMU, HiFive Unleashed
  • AArch64(Tier 2): QEMU, Raspberry Pi 3B+
  • MIPS32(Tier 3): QEMU, TrivialMIPS

demo

What's included

rCore has the following features:

  • Linux compatible syscall interface: run Linux userspace programs
  • Network stack
  • Simple file system
  • Signal system
  • Async IO
  • Kernel module

Building

Environment

Setup on Linux or macOS:

$ rustup component add rust-src llvm-tools-preview

Or use Docker container:

$ docker run -it -v $PWD:$PWD -w $PWD wangrunji0408/rcore

How to run

$ git clone https://github.com/rcore-os/rCore.git --recursive
$ cd rCore/user
$ make sfsimg PREBUILT=1 ARCH=x86_64
$ cd ../kernel
$ make run ARCH=x86_64 LOG=info

See Makefile for more usages.

Maintainers

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].