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

Where is the uhyve resides? #31

Closed
a74731248 opened this issue Jan 11, 2022 · 4 comments
Closed

Where is the uhyve resides? #31

a74731248 opened this issue Jan 11, 2022 · 4 comments

Comments

@a74731248
Copy link

hi! I am trying HermiTux with your container, and I have some confusions about uhyve.

  1. where is the uhyve resides in this container? I can not find it with command find / -name uhyve.
  2. Why can I use the command was described there it this container, and come with uhyve: command not found.
  3. does the uhyve in this container compile from the one that write with rust? or other? I remember you have mention in VEE'19' paper that uhyve have develop from ukvm to implement some new function, and I also want to learn about uhyve which was used in HermiTux, could you tell me where can I read the code of uhyve that was used in HermiTux?
@olivierpierre
Copy link
Collaborator

Hello!

  1. I assume you refer to uhyve's binary, it's located in the container in /root/hermitux/hermitux-kernel/prefix/bin/proxy
  2. The command you mention regards RustyHermit's version of uhyve, which is completely different from HermiTux'. Please see here for examples of how to launch applications with HermiTux.
  3. As mentioned above unfortunately HermiTux won't run as is with the rust version of uhyve (porting would probably require quite a bit of effort). You can find the sources of HermiTux' uhyve here, the main file being uhyve.c

I hope this helps!

@a74731248
Copy link
Author

Hello!

  1. I assume you refer to uhyve's binary, it's located in the container in /root/hermitux/hermitux-kernel/prefix/bin/proxy
  2. The command you mention regards RustyHermit's version of uhyve, which is completely different from HermiTux'. Please see here for examples of how to launch applications with HermiTux.
  3. As mentioned above unfortunately HermiTux won't run as is with the rust version of uhyve (porting would probably require quite a bit of effort). You can find the sources of HermiTux' uhyve here, the main file being uhyve.c

I hope this helps!

thank you for reply, it help me a lot, but I still have some questions there.

  1. do you mean that uhyve was integrated into proxy?
  2. do all apps under directory apps/ can run with qemu when I use the command like here with change HERMIT_ISLE=qemu? I have try the command below in apps/npb/is but get stuck.
HERMIT_ISLE=qemu HERMIT_TUX=1 \
	../../../hermitux-kernel/prefix/bin/proxy \
	../../../hermitux-kernel/prefix/x86_64-hermit/extra/tests/hermitux \
	/lib64/ld-linux-x86-64.so.2 ./is-dyn

@olivierpierre
Copy link
Collaborator

  1. proxy is just the name of uhyve's binary. At some point I should probably rename it into something like hermitux-uhyve to be more explicit
  2. Unfortunately HermiTux does not run with qemu, please see this issue

@a74731248
Copy link
Author

when I read the main function in tools/proxy.c, I thought that proxy was a proxy that redirect to qemu or uhyve, thanks for explaining, and now I know what proxy was.

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

2 participants