Mirage OS Logo

The MirageOS Documentation

and developer guides

Weekly Meeting: 2013-06-11
By Anil Madhavapeddy - 2013-06-11


Work through the integration of:

  • the new UNIX backend which spins off a separate unikernel process
  • the elimination of OPAM switch from the mirari workflow
  • binary package generation

Attendees: Anil Madhavapeddy, David Scott, Vincent Bernardoff, Daniel Buenzli, Jonathan Ludlam


Vincent's patchset successfully split out much of the UNIX dependencies into smaller libraries. Anil has been code-reviewing and integrating them, and now has a working Mirage again in trunk!

The new OPAM scheme breaks up:

  • mirage into mirage-unix and mirage-xen
  • mirage-net into mirage-net-direct and mirage-net-socket
  • Adds a dependency of the form (mirage-unix|mirage-xen) to the now-dummy mirage package.
  • Adds conflicts to each other on mirage-unix and mirage-xen.

This all means that we no longer need to use a separate compiler switch for compiling UNIX and Xen backends, thus simplifying mirari considerably. Dave added a patch which stubs out mmap, also eliminating the need for the xenbigarray package.

Anil will push all these changes to trunk and cut a new set of releases with this scheme. This should be the last of the changes required before a beta!

Anil: trunk compiler seems broken with Xen due to missing symbols Dave: yes, as they have been added since 4.00.1 was released. Decision to stick with 4.00 for now, as we don't require the 4.1 features (but they speed up the unikernel a lot, but performance isn't priority just yet).

Next Steps

We're going to aim to stabilize everything for two weeks.

  • Vincent: get EC2 bindings in shape.
  • Anil: try out libvirt
  • Anil: look at plumbing through block storage in mirari.
  • Dave: fixing Balraj's network ring reservation query.
  • Dave: look at pulling out FAT32 (still using Bitstring).
  • Vincent: write blog post on Mirari.
  • Vincent/Dave: look at evtchn unification and test cases for event handling.

Anil will chat with David Sheets about getting continuous builds runnings now that it's all part of the mainline.

Binary packages

Discussion about whether we could use OCamlot for binary distribution generation, as Dave and Jon have been knocking out RPM spec files at an alarming rate. We also need this to generate binary distribution of Mirage for the OSCON preview.

Jon/Dave/Citrix are working with upstream CentOS, so this is the first place to start. Anil: we can customise OCamlot much more easily than Jenkins, so this should be good to hook in.