ssrg-vt / hermitux

A binary-compatible unikernel
https://ssrg-vt.github.io/hermitux/
393 stars 28 forks source link

Some questions about fast system calls #32

Open a74731248 opened 2 years ago

a74731248 commented 2 years ago

as mention in the end of wiki

Next one can use the test-dyn target of the template Makefile to launch dynamically compiled binaries with our transformed version of Musl. Note that in the current state of things, using that template Makefile to compile static binaries (for example with make test) will succeed and create static binaries with that same unikernelized libc: they will have fast syscalls but will not work on Linux.

  1. does it mean when I try HermiTux within container, and compile bunaries with static/dynamic linking, that all of these binaries use fast system calls?
  2. If I want to use a dynamic linking program (already been compiled) from outside with fast system calls, what should I do? Just download it and use the command like below?
    HERMIT_ISLE=uhyve HERMIT_TUX=1 \
    path-to-proxy \
    path-to-hermitux \
    /lib64/ld-linux-x86-64.so.2 ./dynamic-linking-program-bynary
olivierpierre commented 2 years ago

Please see this wiki page: https://github.com/ssrg-vt/hermitux/wiki/Fast-system-calls-in-dynamically-linked-programs

a74731248 commented 2 years ago

yes, I have seen that but is just describe how to build a unikernel-aware musl libc, rather than how to run a dynamic program without recompile it.