Solo5 / solo5

A sandboxed execution environment for unikernels
ISC License
905 stars 139 forks source link

remove minios from solo5 mirage-platform #19

Closed djwillia closed 8 years ago

djwillia commented 8 years ago

The mirage-platform (which produces mirage-solo5, mirage-xen-posix, etc.) has lots of dependencies on minios even when being compiled for Solo5.

mato commented 8 years ago

The current structure of mirage-platform for Xen (the only non-UNIX target) looks like this, in dependency order with leaf packages omitted:

minios-xen: Mini-OS kernel
  mirage-xen-minios: Openlibm interfaces needed by OCaml runtime
    mirage-xen-posix: libc and POSIX interfaces needed by OCaml runtime
      mirage-xen-ocaml: OCaml runtime
        mirage-xen: Mirage/Xen platform bindings

Having thought about the structure for Solo5, I've come up with the following:

solo5-kernel-XXX: Solo5 kernel
  mirage-solo5-runtime: All interfaces needed by OCaml runtime
    mirage-solo5-ocaml: OCaml runtime
      mirage-solo5: Mirage/Solo5 platform bindings

In the new structure, mirage-solo5-runtime would be a roll-up of all interfaces needed to run the OCaml runtime atop a Solo5 base. This would include libm, libc and POSIX bits.

Rationale: As a future step, I would like to arrive at a mirage-freestanding-runtime and mirage-freestanding-ocaml with clear interfaces which can be re-used by other non-UNIX Mirage targets. Notably, this would also allow the existing Xen target to be migrated to use the same "freestanding runtime" packages as Solo5 thus reducing duplication of code which is a good thing.

mato commented 8 years ago

Update from yesterday's discussion on Slack:

the naming can change, but I think we agree on the functions: solo5-kernel-xxx: solo5 kernel with no posixy interfaces solo5-ocaml-runtime: ocaml runtime and all posixness to make it run on solo5-kernel-xxx (but no mirage) mirage-solo5: mirage bindings, stubs, etc that can run on ocaml runtime

I've also asked for input on the mirageos-devel list: http://lists.xenproject.org/archives/html/mirageos-devel/2016-05/msg00021.html

mato commented 8 years ago

@djwillia This is now fixed, can we close the issue?