https://github.com/asterinas/asterinas
Asterinas is a secure, fast, and general-purpose OS kernel, written in Rust and providing Linux-compatible ABI.
https://github.com/asterinas/asterinas
kernel os rust tee
Last synced: 3 months ago
JSON representation
Asterinas is a secure, fast, and general-purpose OS kernel, written in Rust and providing Linux-compatible ABI.
- Host: GitHub
- URL: https://github.com/asterinas/asterinas
- Owner: asterinas
- License: other
- Created: 2022-05-17T18:48:52.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-30T02:42:16.000Z (7 months ago)
- Last Synced: 2024-10-30T05:09:10.426Z (7 months ago)
- Topics: kernel, os, rust, tee
- Language: Rust
- Homepage: https://asterinas.github.io/
- Size: 6.42 MB
- Stars: 2,207
- Watchers: 19
- Forks: 125
- Open Issues: 260
-
Metadata Files:
- Readme: README.md
- License: LICENSE-MPL
Awesome Lists containing this project
README
A secure, fast, and general-purpose OS kernel written in Rust and compatible with Linux
![]()
![]()
![]()
English | [中文版](README_CN.md) | [日本語](README_JP.md)
## Introducing Asterinas
Asterinas is a _secure_, _fast_, and _general-purpose_ OS kernel
that provides _Linux-compatible_ ABI.
It can serve as a seamless replacement for Linux
while enhancing _memory safety_ and _developer friendliness_.* Asterinas prioritizes memory safety
by employing Rust as its sole programming language
and limiting the use of _unsafe Rust_
to a clearly defined and minimal Trusted Computing Base (TCB).
This innovative approach,
known as [the framekernel architecture](https://asterinas.github.io/book/kernel/the-framekernel-architecture.html),
establishes Asterinas as a more secure and dependable kernel option.* Asterinas surpasses Linux in terms of developer friendliness.
It empowers kernel developers to
(1) utilize the more productive Rust programming language,
(2) leverage a purpose-built toolkit called [OSDK](https://asterinas.github.io/book/osdk/guide/index.html) to streamline their workflows,
and (3) choose between releasing their kernel modules as open source
or keeping them proprietary,
thanks to the flexibility offered by [MPL](#License).While the journey towards a production-grade OS kernel is challenging,
we are steadfastly progressing towards this goal.
Over the course of 2024,
we significantly enhanced Asterinas's maturity,
as detailed in [our end-year report](https://asterinas.github.io/2025/01/20/asterinas-in-2024.html).
In 2025, our primary goal is to make Asterinas production-ready on x86-64 virtual machines
and attract real users!## Getting Started
Get yourself an x86-64 Linux machine with Docker installed.
Follow the three simple steps below to get Asterinas up and running.1. Download the latest source code.
```bash
git clone https://github.com/asterinas/asterinas
```2. Run a Docker container as the development environment.
```bash
docker run -it --privileged --network=host --device=/dev/kvm -v $(pwd)/asterinas:/root/asterinas asterinas/asterinas:0.11.3
```3. Inside the container, go to the project folder to build and run Asterinas.
```bash
make build
make run
```If everything goes well, Asterinas is now up and running inside a VM.
## The Book
See [The Asterinas Book](https://asterinas.github.io/book/) to learn more about the project.
## License
Asterinas's source code and documentation primarily use the
[Mozilla Public License (MPL), Version 2.0](https://github.com/asterinas/asterinas/blob/main/LICENSE-MPL).
Select components are under more permissive licenses,
detailed [here](https://github.com/asterinas/asterinas/blob/main/.licenserc.yaml). For the rationales behind the choice of MPL, see [here](https://asterinas.github.io/book/index.html#licensing).