[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MirageOS-devel] MirageOS Windows / Hyper-V Development

Hello All,

I'm interested in working on adding support for Windows and eventually Hyper-V deployment of MirageOS unikernels.

My end goal is getting MirageOS unikernels running on Windows Azure, as it would seem having ubiquitous
cloud hosting support would be very valuable to the project. For now it seems like having just plain Windows process
support would be a great stepping stone to this eventual goal.

I've been poking around the code, and see that everything seems to be partitioned cleanly into separate packages for
xen and unix support. This gives me at least a little hope that windows / hyper-v support could be added piecemealÂ
overtime without being a merging nightmare as development continues to occur.

Very impressed with the clean isolation :)

As far as I can tell it seems like I would have to implement the following opam packages to get windows process support working:

 1) mirage-win        ÂMirage OS library for Windows compilation
 2) mirage-console-win  A Mirage-compatible Console library for Windows
 3) mirage-clock-win    A Mirage-compatible Clock library for Windows
 4) mirage-entropy-win  Mirage entropy device for Windows
 5) mirage-block-win    Mirage block driver for Windows
 6) mirage-fs-win      ÂMirage file system pass through driver for Windows
 7) mirage-net-win     ÂEthernet network driver for Mirage (seems like this might be optional?)
 8) mirage-tcpip-win    Userlevel TCP/IP stack
 9) mirage-http-win     Mirage HTTP client and server driver for Windows

The root mirage package 'mirage' would also have to be modified to support a --win option, and other plumbing.Â

Conceptually this all seems fine and dandy, be it a reasonably large chunk of work.

I'm not intimately familiar with the ocaml ecosystem on windows, I've only ever dabbled in the language
on unix machines. This leads be to wonder if Windows support for MirageOS is dead on arrival, given the
current windows support the tooling MirageOS fundamentally uses. For instance it seems like currently
even opam doesn't support running on windows? (I read that it is coming..) I imagine there are many
other such cases, that I simply won't know about until I hit them.

Am I mistaken, or is windows support for the tooling going to be a big blocker to getting anything working?
Any feedback on the idea itself, approach, big blockers, anyone doing similar work would be greatly appreciated.

- Brian
MirageOS-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.