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

Modular build for ukvm #5

Merged
merged 1 commit into from Jul 20, 2016
Merged

Modular build for ukvm #5

merged 1 commit into from Jul 20, 2016

Conversation

djwillia
Copy link
Owner

@djwillia djwillia commented Jul 19, 2016

This PR should be considered with the matching one in solo5/solo5. (Solo5/solo5#64)

The generated Makefile will now invoke ukvm-configure to output a specialized ukvm-bin binary that can be used to run the unikernel when ukvm is chosen as the backend. Which modules ukvm-bin is compiled with is determined by the libs variable, ultimately coming from Functoria.

let pkg_config_deps = "mirage-solo5 ocaml-freestanding" in
append fmt "\tpkg-config --print-errors --exists %s" pkg_config_deps;
append fmt "\tld $$(pkg-config --variable=ldflags solo5-kernel-ukvm) \\\n\
>>= fun extra_c_archives ->
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this comment is specific to your change. But won't it be very hard to touch this mirage file when it gets upstreamed? wouldn't it be better to move this solo5 logic to some solo5 specific repo (somehow)?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ricarkol The Solo5 changes to the mirage frontend tool follow the same structure as the other targets. For example, lib/mirage.ml contains Xen-specific code. We can still change things after upstreaming, it'll just be more (administrative) work. (See yesterday's long discussion on releases and dependencies in #solo5 on Slack.)

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ricarkol: we can cut mirage tool point releases pretty fast if something changes unexpectedly in the solo5 packaging

Copy link
Collaborator

@ricarkol ricarkol Jul 20, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the answers.

I was asking mainly because I'm planning to submit a PR to have something similar at the kernel level: if there is no disk, then no disk related code should be built for the kernel image. But that should wait until you come back, and after we have the discussion related to the devices abstraction.

@mato
Copy link
Collaborator

mato commented Jul 20, 2016

Solo5/solo5#64 has been merged, so I'm merging this also.

@mato mato merged commit 801a9e9 into solo5 Jul 20, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants