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

Embed crunch in an ELF section rather than static linking #489

Closed
avsm opened this issue Feb 12, 2016 · 2 comments
Closed

Embed crunch in an ELF section rather than static linking #489

avsm opened this issue Feb 12, 2016 · 2 comments

Comments

@avsm
Copy link
Member

avsm commented Feb 12, 2016

Rather than static linking, we could embed the crunch filesystems in an ELF section. This would:

  • speed up compilation time by not passing the block device through ocamlopt
  • not require a dynamic block device
  • not map the data in memory twice, since it wouldnt be in the code section.

See https://devel.unikernel.org/t/includeos-filesystem-api/108 for the IncludeOS thread on this, so we can obey the same ELF section convention.

@hannesm
Copy link
Member

hannesm commented Oct 24, 2020

There is now https://github.com/dinosaure/caravan which does this (pending mirage integration).

@hannesm
Copy link
Member

hannesm commented Sep 7, 2022

As mentioned above, caravan is about that. I tried this for quite some time, it works in some use cases. I don't think it is a good solution (due to issues in respect with reproducible builds): either pass configuration via command line, or block device, or in a git remote. Also, the ELF section is brittle (since size and where memory is mapped is very dependent on solo5 etc.).

@hannesm hannesm closed this as completed Sep 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants