xiaolongn100 / zCore

Reimplement Zircon microkernel in Rust.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

zCore

Actions Status Docs Coverage Status

Reimplement Zircon microkernel in safe Rust as a userspace program!

Dev Status

🚧 Working In Progress

  • 2020.04.16: Zircon console is working on zCore! 🎉

Getting started

git clone https://github.com/rcore-os/zCore
cd zCore
git lfs pull

Prepare Alpine Linux rootfs:

make rootfs

Run native Linux program (Busybox):

cargo run --release -p linux-loader /bin/busybox [args]

Run native Zircon program (userboot):

cargo run --release -p zircon-loader prebuilt/zircon

Run Zircon on bare-metal (zCore):

cd zCore && make run mode=release [graphic=on] [accel=1]

To debug, set RUST_LOG environment variable to one of error, warn, info, debug, trace.

Components

Overview

Hardware Abstraction Layer

Bare Metal Linux / macOS
Virtual Memory Management Page Table Mmap
Thread Management executor async-std::task
Exception Handling Interrupt Signal

About

Reimplement Zircon microkernel in Rust.

License:MIT License


Languages

Language:Rust 98.2%Language:C 1.1%Language:Makefile 0.4%Language:Shell 0.2%