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

Re: [MirageOS-devel] Really fascinating

On 16 Oct 2014, at 11:10, Brian Brietzke <bbrietzke@xxxxxxxxx> wrote:

I was told about the project from a friend and I must say that I agree with him: wow!  I'm truly impressed with what is going on and the potential of what is happening.  Just, wow.

I would love to being exploring some of these ideas and concepts, along with learning OCaml, so I've picked a few books, setup a sandbox that I can play with ( both Xen and dev side ), but have run into some things that I would like to get a little clarification on.

Forgive me if this is the wrong place to ask these questions.  If you will let me know the correct place, I'll send them there.

I notice that both the Xen page and the open mirage site says that 2.0 is available, but I can only see 1.2 in the OPAM repositories that are installed by default.  Is there a different repository that I should be connecting to in order to get the lastest and greatest?

We're just about to release the 2.0 series as a stable branch; in the meanwhile, there's an opam remote:

opam remote add mirage git://github.com/mirage/mirage-dev

that will get you the mirage 2.0 series of repositories.  There may be some teething troubles in the next couple of days as we rearrange things for release into stable OPAM, but it should settle down quickly.

One of the easier scenario's for bringing these ideas into my workplace is setting a small REST or REST/SPA application as a proof of concept ( our CTO loves POCs ), but I don't find much in the way of documentation.  The article at http://roscidus.com/blog/blog/2014/07/28/my-first-unikernel/, which is incredibly helpful by the way, only shows how to handle requests with non-parameterized URLs.  Using cohttp, can we do parameterized URLs such as /resource/{id} or /blog/{articleId}/comments?

Yes; that's all independent of Mirage - the Cohttp library can do that sort of thing.  It's often easier to prototype the web logic using Cohttp_lwt_unix and then swap the same code over to Cohttp_mirage.

Using the https://github.com/mirage/mirage-skeleton as a point of exploration, the static_website fails to build with an error in the config.ml on line 41 ( conduit_direct ).  Is there a package missing or something else that will resolve the build failure? Or is it related to having the 1.2 packages instead of the 2.0 packages?

If you do have a build failure, we'd appreciate seeing the build logs, as it's hard to answer the question without seeing more details.  You can file them on https://github.com/mirage/mirage/issues

How do you handle configuration?  For instance, you build an application that generates one xen image per person, would you copy over the specific user information prior to the build, or is there a better way?  I can see that https://github.com/MagnusS/jitsu would be the way to start the application on demand and also clean it up when it is no longer being used.

I don't quite understand the question -- are you asking about how to launch the unikernel? 

I notice that there is a lot of talk of using the cubieboards for running the images.  How do you handle talking with the hardware components such as the GPIOs or I2C?

Our use of the Cubieboard2 doesn't require any use of GPIO or I2C; we just use the network and block interfaces.  If necessary, this is handled via a Xen/Linux dom0 device driver in the same way as network or block storage.

MirageOS-devel mailing list



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