mirage/mirage

Created Jan 9, 2021 · View the mirage/mirage repository page

MirageOS is a library operating system that constructs unikernels

Want this for your repo?

Render a free sample of any GitHub repo in seconds.

Visualize your own →

Contributors

51

Lines of Code

6,066

From

Feb 2, 2013

To

Dec 4, 2020

About mirage/mirage

MirageOS is a library operating system written in OCaml that allows developers to build unikernels—specialized, single-purpose operating systems that run network applications. Instead of running on traditional operating systems, these unikernels execute directly on hypervisors like Xen, KVM, FreeBSD's BHyve, and OpenBSD's VMM, making them lightweight and resource-efficient. Developers can write and test code on conventional systems like Linux or macOS before compiling it into a standalone unikernel that deploys to public clouds such as Amazon EC2 and Google Compute Engine, or to private infrastructure.

This repository contains the `mirage` command-line tool that handles the configuration and build process for MirageOS applications. The tool simplifies the specialized compilation steps needed to target different platforms. Users define their application architecture in a `config.ml` file, then use the `mirage` tool to configure the build, manage dependencies via Opam, and compile the final unikernel using Dune. The project requires OCaml 4.13.0 or higher and Opam 2.1.0 or higher, with target-specific requirements depending on whether you're building for Xen (requiring x86_64 or armel Linux), or other platforms like FreeBSD, OpenBSD, and macOS.

MirageOS appeals to developers building secure, high-performance network services who want to reduce resource consumption and attack surface by eliminating unnecessary operating system components. The project includes skeleton applications and example repositories to help newcomers get started, and maintains comprehensive documentation on the MirageOS website.

Share this video

More from mirage

See all →