Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Strictly build what we need to deploy the unikernel and build block device into the default context #1323

Open
dinosaure opened this issue Apr 14, 2022 · 0 comments

Comments

@dinosaure
Copy link
Member

Currently, mirage build is equivalent to dune build --root .. In such case, we don't really know what we build. It will be nice to expand mirage build to what we really want to build such as: dune build --root . dist/unikernel.hvt for example.

The question becomes tricky for artifact such as block-device produced by something like tar or docteur: dune build --root dist/unikernel.hvt dist/disk.img. But, as far as I can say, we already collect into mirage_impl_block these block-device.

Then and a last point, it seems a non-sense to try to produce a block-device from the Solo5/cross-compilation context. Indeed, we probably want to produce some files like some *.js from some OCaml code and pack them into an image then. In that situation, js_of_ocaml does not play well with our cross-compilation toolchain and it seems more accurate to limit the production of block-devices into the default context (not the cross-compilation context).

If we run the production of block-devices into the default context AND we explicitly asks dune to produce our unikernel and block-devices, we finally are able to:

  • prepend the production of our block-devices by some host computations
  • still produce everything needed by our unikernel with a simple mirage build

Such design is not a big deal but I probably missed some implications and this is why I would like to discuss about that first. /cc @TheLortex who is the most aware about all of that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant