Mirage OS Logo

The MirageOS Documentation

and developer guides

Weekly Meeting: 2014-08-07
By Amir Chaudhry - 2014-08-07


  • 2.0 release summary
    • Blog posts
    • ARM integration
  • 0Install distribution
    • Wrapper for deploying Unikernels
  • Mirage Docs day (sync w Xen Docs Day)
  • Carried over
    • zeroing out cstruct/memory
    • duplicated code in mirage platform

Attendees: Amir Chaudhry (chair), Thomas Gazagnaire, Thomas Leonard, Anil Madhavapeddy, Russell Pavlicek, Mindy Preston and Nick.


2.0 release summary

Blog posts complete - The run of blog posts went very well and found their way onto social aggregators too. You can find the the links to these discussions and other news stories about Mirage (in many different languages!) at openmirage.org/links. There's an outstanding issue to raise the visibility of this link log. Anil reports lots of interest at OSCON (5 star talk!) and there was high-attendance at the workshop in Sweden.

2.0 release - It's been a couple of weeks since the release and there's been much more activity on the mailing list. Mirage is waiting on a bunch of patches to be merged, adding a lot of support for ARM stuff. The upcoming mirage 2.0 binary will mean that people can remove the pins from the instructions.

At OSCON, Mort gave Russ the tour who then said there's a nice story about Docker. Would be good to get as much of this stuff up front so we can get good story together. Anil noted that we do most of this by building this stuff and seeing how things work. It's easier to quantitatively evaluate things.

ARM Integration - Thomas L: Held up by physical pages bug which upstream are fixing. Has updated instructions to use a patched stuff. All the PRs could probably be merged. Has released MiniOS 3 which has a larger stack. This has an extra MB and will detect stack overflow. Will be looking at performance next.

Mindy offered to try things out on a BeagleBone but need to have an A20 processor so wouldn't work (it's an A9). We're planning to keep things focused on Cubieboard and Cubietruck for now and both are quite popular. Turns out that xen-arm-builder is the easiest way to get stuff on ARM. If anyone can explain how the Linux configuration works, it would be very useful to have any writeups about that. We have a bunch of new users who are finding all it difficult to navigate many different pieces in order to get up and running.

Question on power management came up a few times at OSCON and ThomasL will have a look at this in due course.

0Install distribution

Thomas L talked about a 0Install wrapper around Xen's xl for deploying Unikernels. Previously demoed this in April in the Lab but was somewhat hacky with a poor security story. Would like to revisit this and is curious how it would it be wrapped. XenServer takes over the whole host and is a bit heavyweight. Libvirt might be an optin and should have OCaml bindings. 'Buzz heavyyear' on the mailing list might have useful input. Xapi might also be useful to look at, so talking to Jon Ludlam too.

Plan should be to start a thread on the Mirage List and try to get information from others.

Mirage Docs day

Russell Pavlicek (Xen Project Evangelist) joins us and encourages us to organise a doc day and improve the various information available about Mirage OS on the Xen Project site. Currently on Wiki.XenProject.org there isn't much and we should really have answers for the basics, such as What is Mirage?, What's in v2? and Why should I care?. Much of this content does live elsewhere but representation on Xen Project is important. Items can (and should) still link back to the Mirage OS site.

Anil and others note that we should take care not to give ourselves the burden of maintaining duplicate content, especially if it's fast moving (cf. tutorials). We should aim for a set of stand-alone content and link appropriately.

Xen Project normally have docs days at the end of month and we are welcome to join one of those or organise our own independently. Just let Russ know so that he can add it to the event calendar. Currently thinking of scheduling a Mirage Doc Day for end of September.

Also, worth sending Russ any PDFs of slides so that they can go up on Xen Project. Slides there tend to get many views so it's a great way to get more exposure. Anil notes that it would be better to embed them as we run our slides as unikernels (dog-fooding all the way!).

Zeroing out memory/cstruct

David Kaloper as done a full review and submitted a PR. There might be a performance hit but it's important due to cstruct's use in TLS stack and security-related code.

Code duplication in Mirage Platform

The new mirage allows us to move code into libs. The checksum PR will mean we can then get rid of the duplicates in mirage-platform. In other words, this is fixed, but not yet merged.


  • Demonstrated Irmin but it needs applications/users. Need to make sure Irmin links into Xen properly. One use-case is the Mirage website. Once we have Irmin logging, we can turn off Google Analytics. Avoids the privacy leakage and will be interesting to see how this works in general.

  • Lots of good things coming in OCaml 4.02.0 release and we get a lot of benefits for free. We should work on this once it's actually released, mostly likely in late September.

  • Next call is scheduled for 19th August but Dave and Anil are due to be at XenSummit. Amir would like avoid the confusion of the last two calls :)