Mirage OS Logo

The MirageOS Documentation

and developer guides

Weekly Meeting: 2015-10-14
By Amir Chaudhry - 2015-10-14


  • Functoria
  • Irmin roadmap
  • Pioneer Projects
  • Blog posts and videos

Attendees: Daniel Bunzli, Amir Chaudhry (chair), Justin Cormack, Thomas Gazagnaire, David Kaloper, Thomas Leonard, Anil Madhavapeddy, Hannes Mehnert, Richard Mortier, Mindy Preston, Dave Scott, Magnus Skjegstad and Jeremy Yallop


Quality and Test

Anil is trying to do more automated builds around mirage and using CISO to build on pushes. Hopefully can retire 'is-mirage-broken' when this is done. Currently working on this and hooking up the contiainer builds but they run out of disk space. Trying to use dog to catch the logs and trying to have a branch per package and version. At the moment there are a few thousand contains unsuccessfully pushing to dog. Can hopefully use Thomas' package.

Some brief discussion about UI and a note that there should be something on ThomasL's GitHub account.


See release tracking in mirage/mirage#447

ThomasG is refactoring the code to make it easier to understand. Also trying to read the .mli file(s) and explaining why it's not in mirage anymore (takes some effort to do this). mirage has two stages — compile and run — and the user/developer typically wants control of when things happen. There is building the mirage tool (which is an app itself) and your final application — you want to build using functors, so you want a DSL.

ThomasG has some nice .mli files and will ask for review, probably by the end of the week. One part is also an extension of cmdliner. Maybe talking to someone with more experience of meta programming would be useful.

Not sure of ETA of Functoria yet. Every time there is some refactoring we have to check that things compile and also have to check generated code, which takes time.

Irmin progress

We should make a release of Irmin soon.

ThomasL has been making some changes, which may have broken code and things are more git-like now. The API is a bit more verbose and bit more explicit. If someone is making a back-end it should be a lot simpler and they can share resources a lot more easily. There are enough useful things in master that it's worth cutting a release. ThomasG likes how things are going, still perhaps possible to make a few frequent use-cases a bit easier. No strong opinions as to how though.

Regarding the refactoring work, chunking is now finished and encryption is compiling but not passing tests/review. That component isn't ready for release yet but if someone wants to look over it, that would be cool.

Worth noting that dog might not work with new APIs. The IMAP server that Greg worked on might also need updating. ThomasL/ThomasG will follow up with him separately. There's also a new version of Jitsu coming soon.

Other pieces:

  • Xen: Patches are there but probably need fixing now. There's likely a branch in mirage-dev.

  • GC: Not much progress on this yet. Will need to change types as part of this works and at the moment, we pass around IDs. Some discussion over how to do this.

  • Memory issues: Jeremy looked at the memory usage issues too. Found a number of culprits and fixed them but the remaining ones lead to a trade off between memory usage and execution time. For example, we can reduce memory usage by 70% but that increases execution time by 2x. Caching seems to be the culprit and we'll have to look at this further.

Pioneer Projects

We have a candidate for Outreachy who is working with Hannes who submitted a small patch (we note that this also survived a code review by Daniel Bünzli). Mort has had one other enquiry. The Outreachy process is ongoing.

Blog posts

We've been releasing things as usual but haven't had any blog posts for a while. There are a few things that it would be worth writing up posts about.

  • Summary of the recent talks that have taken place (Amir has a draft). Any videos can be added to the Videos page of the website (which could do with a refresh).

  • Introduction to the new DHCP server, Charrua, which was a result of a recent Pioneer Project. Christiano said he'd like to write one but the work is not finished, yet. Might take another month to polish up. We should ask again in a month.



  • nocrypto work. Didn't get around to this but found out that it doesn't compile with opam 1.1.1 (which is in Ubuntu) due to some variable in the OPAM file. Must work with opam 1.2.0 or above.

  • codoc status: We should check on this at the next meeting as it will be needed for Irmin.

  • Boot logos for MirageOS! Some discussion on the list about boot logos. Would be good if we had a library to turn a string into ASCII art. We could make this a Pioneer Project but after some discussion, it seems DavidK already has such a library, Notty.

  • Logging: Factoring things out into a library would be good. Getting vchan integrated and working correctly (dom0/domU) is important and then we can have a better way to manage logs. Should add this to the agenda for next time.

  • The next call is scheduled for Wednesday, 28th October. Please add any agenda items you wish to discuss in advance and refer to the mailing list for actual details a day or so in advance.