The MirageOS Core Team has announced the release of MirageOS 4.0. MirageOS is an incubation project of the Xen Project and the Linux Foundation. It’s the latest update since version 3.10 in December, 2020.
MirageOS is a library operating system that creates unikernels for safe, high-performance, low-power applications on a variety of hypervisor and embedded systems.
MirageOS has made considerable progress in deploying self-managed Internet infrastructure since its first release in 2013. The project’s initial goal was to self-host as many services as possible in order to enable internet users to securely install infrastructure and reclaim control of their data and privacy. With ‘Let’s Encrypt’ certificate provisioning and a secure SMTP stack with security extensions, MirageOS can safely deploy static website hosting. To maintain data privacy, MirageOS may also use decentralized communication infrastructure such as Matrix, OpenVPN servers, and TLS tunnels, as well as DNS(SEC) servers for enhanced authentication.
Hundreds of libraries and millions of daily users currently make up the protocol ecosystem. Major commercial customers have joined the initiatives throughout the years. To protect their product, they rely on MirageOS libraries. MirageOS networking technology, for example, enables Docker Desktop’s VPNKit, which serves the traffic of millions of containers every day. Citrix Hypervisor communicates with Xen, the hypervisor that runs most of today’s public clouds, via MirageOS. Nitrokey is working on a MirageOS-based hardware security module. Robur is working on a unikernel orchestration framework for MirageOS fleets. Tarides utilizes MirageOS to strengthen the Tezos blockchain, while Hyper uses MirageOS to provide sensor analytics and a farm automation platform.
What is new in MirageOS 4
MirageOS 4 focuses on improving interoperability with current ecosystems. Parts of MirageOS, for example, have been incorporated into the OCaml ecosystem, making it easy to deploy OCaml apps into a unikernel. In addition, they enhanced cross-compilation support, provided new compilation targets to MirageOS (such as for the bare-metal Raspberry-Pi 4), and made it simpler to connect MirageOS with non-OCaml libraries.
The way MirageOS generates projects has changed significantly with the latest version. They created opam-monorepo, a novel tool that isolates package management from the creation of the resultant source code. It produces a lock file for the project dependencies, downloads and extracts the dependent sources locally, and builds a Dune Workspace so that dune build can build everything at the same time. The MirageOS 4.0 release also includes enhancements to the Mirage CLI tool, a new OCaml runtime that is libc-free, and an OCaml cross-compiler. Finally, while creating unikernels, MirageOS 4.0 now supports common IDE tools, making day-to-day coding considerably faster.
Lars Kurth is honored with this release of MirageOS 4.0. Regrettably, he passed away in early 2020, leaving a large void in the community. Lars Kurth played a key role in bringing the Xen Project to fruition, and the community wouldn’t be where it is now without him.