ec2-unikernel: A handy tool for uploading unikernels to Amazon's EC2.

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.



This tool uploads unikernels built with the HaLVM, Mirage, or other tools to Amazon's cloud. The unikernel will then appear as an AMI, which can be run and shared as needed.

[Skip to ReadMe]


Versions0.9, 0.9.1, 0.9.2, 0.9.8, 0.9.8
Change logNone available
Dependenciesamazonka (>=1.5.0 && <1.7.0), amazonka-core (>=1.5.0 && <1.7.0), amazonka-ec2 (>=1.5.0 && <1.7.0), amazonka-s3 (>=1.5.0 && <1.7.0), base (>=4.7.0 && <5.0.0), bytestring (>=0.10 && <0.12), directory (>=1.2.2 && <1.4), filepath (>=1.3.0 && <1.5), lens (>=4.13 && <5.0), process (>=1.2 && <1.7), semigroups (>=0.18 && <0.20), temporary (>=1.2.0 && <1.4), text (>=1.2.2 && <1.4), time (>=1.5 && <1.10), unix (>=2.7.1 && <2.9) [details]
CopyrightCopyright 2016 Galois, Inc.
AuthorAdam Wick <>
MaintainerAdam Wick <>
CategoryAWS, Unikernel
Home page
Source repositoryhead: git clone git://
UploadedMon Aug 27 17:29:50 UTC 2018 by AdamWick


Maintainers' corner

For package maintainers and hackage trustees

Readme for ec2-unikernel-0.9.8

[back to package description]


This tool is designed to provide a single-step mechanism for uploading your unikernels to run on EC2. At its core, it takes an ELF binary that is the unikernel, along with any auxiliary modules, uploads them to S3, and them bundles the whole collection as an AMI that you can then launch at will.


Where to Get Binaries

Fedora Binaries

The easiest way to get binary installations for Fedora 22, 23, and 24 is through the HaLVM repositories. Using this method will also get you automatically updated when successive versions come out. To use the HaLVM repositories, run dnf install with one of the following links, depending on your version and architecture:

Then run dnf update to get all the information you need on the packages in this repository, and dnf install ec2-unikernel to install the tool

Ubuntu Binaries

Ubuntu binaries are also available on, although not in a nice friendly repository structure. (As an aside, if someone wants to tell me how I could make such a thing, please send me an email.) So you'll just need to download these manually:

Both of these packages should be signed with the HaLVM Maintainer key (fetch here, fingerprint 6240d595) using the dpkg-sig tool, if you want to verify the release.


First, we always suggest using a binary from the previous section, as they will usually tell you about any software prerequisites you are missing. (See the section on "Prerequisites" for non-software requirements.)

If you're prefer to build from source, you can either pull the latest version from Hackage by doing:

cabal install ec2-unikernel

Or you can get the bleeding edge by pulling this repository and running cabal install directly. If you do the latter, let me suggest that a sandbox (or the forthcoming new-configure/new-build/new-install chain) might be your friend, as ec2-unikernel has one hell of a dependency chain.


At the moment, ec2-unikernel only works with paravirtualized, 64-bit binaries. Extending the latter to support 32-bit binaries would be a lovely introductory project for someone who wants to join the project. Support for HVM domains might be a bit more work.

In addition, ec2-unikernel only works on Linux systems with the guestfish program installed.


This program has three prerequisites: