Asterinas: OS kernel written in Rust and providing Linux-compatible ABI

Project scope and goals

  • Kernel written in Rust aiming for Linux-compatible user-space ABI, not Linux kernel module compatibility.
  • Currently targets only x86‑64 VMs; roadmap focuses on being “production-ready” for VM environments first, then more architectures and devices.
  • Short-term concrete use case mentioned: safer, smaller TCB Linux-compatible kernel inside TEE/TDX guest VMs.

Architecture & design

  • “Framekernel” described as a monolithic, single-address-space kernel partitioned into privileged and unprivileged Rust “services.”
  • Unsafe Rust is quarantined to a minimal core; unprivileged services must be safe Rust.
  • Some see this as essentially a layered monolithic kernel with marketing; others view it as a serious new architecture.

Linux compatibility and drivers

  • Linux compatibility means implementing syscalls, /proc-/sys-/dev-like interfaces, futexes, epoll, signals, etc.; link to their syscall coverage is shared.
  • Users stress that Linux kernel driver API/ABI is unstable, so Linux drivers cannot simply be reused.
  • Several note the massive effort of matching Linux’s hardware support; VM-only focus is seen as a pragmatic way to bypass the driver problem.

Rust as kernel language

  • Many comments debate Rust itself: safety via ownership/borrowing vs complexity (lifetimes, traits, async, nested types).
  • Split between those who find the borrow checker a temporary hurdle and those who see Rust as overengineered and C++‑like in cognitive load.
  • Discussion on unsafe: it is required for low-level operations but should be encapsulated; disagreement on how widespread and problematic it is in real code.
  • Some argue tools like LLMs and valgrind don’t replace language-level safety guarantees.

Use cases and performance

  • Intended use seen as VM kernels, possibly for backend/container-like workloads or high-performance networking on virtio devices.
  • Debate over DPDK vs modern io_uring; consensus that DPDK’s advantages are shrinking but still relevant for some workloads.
  • Unikernels and other minimal kernels are raised as alternative approaches.

Licensing and proprietary modules

  • MPL license framed as allowing proprietary kernel modules; some see this as a plus for business, others as inviting “blob” ecosystems.
  • Unclear whether a stable driver API/ABI will be promised; speculation that a stable API (not ABI) is more likely.

Trust, geopolitics, and realism

  • Some express distrust of a Chinese-origin kernel in production; others note extensive existing Chinese hardware/software in Western infrastructure.
  • Broad agreement that interesting Rust kernels will not “replace Linux” soon due to Linux’s decades of driver and hardware support, but can fill important niches.