README.md
1Rumprun [![Build Status](https://travis-ci.org/rumpkernel/rumprun.svg?branch=master)](https://travis-ci.org/rumpkernel/rumprun)
2=======
3
4This repository uses [rump kernels](http://rumpkernel.org) to provide
5the Rumprun [unikernel](https://en.wikipedia.org/wiki/Unikernel).
6Rumprun works on not only on hypervisors such as KVM and Xen, but also on
7bare metal. Rumprun can be used with or without a POSIX'y interface.
8The former allows existing, unmodified POSIX applications to run
9out-of-the-box, while the latter allows building highly customized
10solutions with minimal footprints.
11
12The Rumprun unikernel supports applications written in, for example
13but not limited to: _C_, _C++_, _Erlang_, _Go_, _Java_, _Javascript (node.js)_,
14_Python_, _Ruby_ and _Rust_.
15
16You will find ready-made software packages for Rumprun from the
17[rumprun-packages repository](http://repo.rumpkernel.org/rumprun-packages).
18Some examples of software available from there includes _LevelDB_,
19_Memcached_, _nanomsg_, _Nginx_ and _Redis_. See the packages repository
20for further details.
21
22See the [wiki](http://wiki.rumpkernel.org/Repo:-rumprun) for more
23information and instructions. You may also want to watch video
24tutorials in the
25[Rumprun unikernel video series](http://wiki.rumpkernel.org/Tutorial%3A-Rumprun-unikernel-video-series).
26
27Note: some of our tools will throw a warning about them
28being experimental. It does not mean that they
29are not expected to produce a working result, just that the usage
30is not necessarily final. The wiki
31[explains](http://wiki.rumpkernel.org/Repo%3A-rumprun#experimental-nature)
32further.
33
34hw
35--
36
37The hardware (``hw'') platform is meant for embedded systems
38and the cloud. It works on raw hardware, but also supports
39_virtio_ drivers and KVM. For a demonstration, see this [youtube
40video](https://www.youtube.com/watch?v=EyeRplLMx4c) where the hw platform
41is booted on a laptop and plays audio using the PCI hdaudio drivers.
42The supported CPU architectures are x86_32, x86_64 and ARM.
43
44Xen
45---
46
47The Xen platform is optimized for running on top of the Xen hypervisor
48as a paravirtualized guest, and provides support for virtualization
49functions not available on the _hw_ platform. The Xen platform will
50work both against the `xl` tools and the Amazon EC2 cloud.
51The supported CPU architectures are x86_32 and x86_64.
52