Released version Asterinas 0.18.0 — an experimental operating system and kernel, written in Rust and designed for compatibility with the Linux ABI. The project is positioned as an attempt to create a 'production-grade' alternative to Linux, focusing on memory safety, performance, and the launch of a typical Linux user environment. The Asterinas code is open and hosted on GitHub, with the primary license for the project being MPL 2.0. The release Asterinas 0.18.0 was published on June 4, 2026, and on June 9 it caught the attention of Phoronix.
The main focus of this release is to prepare Asterinas for use as a guest OS for VM-based Kata Containers and Confidential Containers. To achieve this, the kernel has added missing low-level mechanisms: namespaces, cgroups, virtio-fs, virtio-rng, and a revamped vsock for data exchange between the host and the guest system.
List of major changes:
Preparation for launch in Kata Containers and Confidential Containers.
Asterinas 0.18 makes a significant step towards operating as a guest OS within isolated container-based virtual machines. This is vital for scenarios where containers are not run directly on the host kernel but inside a separate VM, including in confidential computing environments.Support for namespaces.
The kernel has introduced IPC namespace and cgroup namespace, along with nsfs for representing namespaces through /proc/[pid]/ns. This brings Asterinas closer to the process isolation model used by Linux containers.Initial support for cgroups.
A PID sub-controller and partial support for the CPU sub-controller have been implemented. Specifically, cpu.stat statistics and stubs for the cpu.weight and cpu.max limit files have been added. While this is not a full implementation of the cgroups mechanism, it provides the necessary groundwork for container scenarios.virtio-fs for sharing the filesystem with the host.
Support for virtio-fs has been added, allowing the guest system to use the filesystem provided by the host. For VM containers, this is one of the key mechanisms for data transfer without heavy workarounds.virtio-rng and /dev/hwrng.
virtio-rng has been added to export hardware entropy through /dev/hwrng. This is necessary for the proper functioning of cryptographic operations and random number generators within the guest OS.Revamped vsock.
The vsock has been completely rewritten — a communication mechanism between the host and the guest virtual machine. In the context of Kata Containers and Confidential Containers, this is important for management channels, agents, and service interactions between the VM and the execution environment.ptrace has been introduced along with support for userspace debugging.
The ptrace system call has been implemented with the main operations PTRACE_SETOPTIONS, PTRACE_SYSCALL, PTRACE_PEEK, and PTRACE_POKE. This allows familiar debugging tools like GDB and strace to run on Asterinas. Documentation for verified usage and CI checks have been added for them.A new NVMe driver.
An NVMe driver has been added to the block layer. This expands Asterinas' capabilities with modern storage devices and brings the system closer to practical deployment on real and virtualized server hardware.Completely rewritten EXT2 driver.
The EXT2 file system has been entirely reimplemented. The developers attribute this to the overall modernization of the storage stack: the file subsystem is expected to be more reliable and suitable for running real user environments.Changes to VFS and page cache.
The VFS now includes a Dentry revalidation mechanism, the page cache implementation has been overhauled, pivot_root has been implemented, and support for O_TMPFILE in open/openat has been added. A page cache bug that could lead to uninitialized memory leakage into userspace has also been fixed.Procfs expansion.
/proc/mounts, /proc/[pid]/auxv, /proc/[tid], additional entries in /proc/[pid]/maps, and mountstats have been added. This increases compatibility with Linux applications and diagnostic tools that expect the familiar /proc structure.Network enhancements.
In addition to the rewritten vsock, initial support for IPv6 has been introduced, UDP implementation fixes have been made, and permission checks for binding to privileged ports have been added: binding to such ports is now rejected without CAP_NET_BIND_SERVICE.Capabilities mechanism and initial LSM framework.
The release includes the implementation of capabilities, support for the capability bounding set, fixes in system calls related to credentials, and the initial framework for LSM. This is part of the effort to bring Asterinas' security model closer to Linux.Improvements in PCI, TTY, and console.
PCI device detection has been improved, support for PCI ECAM on x86 has been added, multiple TTY support has been implemented, as well as support for the NS16550A UART console, /dev/ttyS0, and the console=ttyS0 parameter. Keyboard functionality has also been enhanced.Expansion of Asterinas NixOS.
Asterinas NixOS now verifies over 100 popular packages including Codex, QEMU, and Firefox. For Firefox, support for ARCH_GET_GS and ARCH_SET_GS has been added specifically.New test suites.
The project integrates Linux kselftest, xfstests, standard tests for Go, Python, and JDK, as well as QEMU tests for virtualization applications. This is important as a sign of the project's maturation: Asterinas is increasingly being tested under real Linux loads.Changes in OSTD and OSDK.
In OSTD, the crate log has been replaced with a custom logging API, the DMA API has been revamped, a framework for typed memory copy operations has been added, and the Pod has undergone refactoring using zerocopy. A Docker environment for ARM/aarch64 has also been added for development.Documentation update.
The Asterinas Book has added coding rules, soundness analysis for OSTD, as well as documentation for Kata Containers and Confidential Containers. This highlights that the container virtualization scenario has become one of the main focuses of the project.
Asterinas 0.18 cannot be viewed as a replacement for Linux for everyday use, but the release significantly advances the project towards practical server and container scenarios. Three key areas are particularly important: compatibility with Linux programs, support for isolation mechanisms, and operation in VM-based container environments.
Source: linux.org.ru
