machyve / xhyve

xhyve, a lightweight OS X virtualization solution
Other
6.43k stars 353 forks source link

building on Linux? #194

Open lonnietc opened 3 years ago

lonnietc commented 3 years ago

What would it take to get Xhyve to compile and run on Linux? Thanks

shchuko commented 3 years ago

xHyve is built on top of the Hypervisor.Framework which is a part of macOS. Linux has other virtualisation kernel module (KVM), which is (unsurprisingly) unsupported by xhyve. It looks like QEMU+KVM will help you under Linux.

lonnietc commented 3 years ago

Yes, I am aware of KVM and what I am truly interested in is seeing if I can port the Xhyve over to Linux after which I can maybe get it running under a unikernel.

So then, to this end, I am trying to find out what the specific parts are that tie it to the macOS since in my reading on the Xhyve, it said that there were minimal dependencies on the Hypervisor.Framework and that made me wonder if it would be easier to port Xhyve over to Linux rather than try and port the full Bhyve from FreeBSD over to Linux.

The follow on step, should that go well, would be to port from the Linux version of Xhyve to a Unikernel which would then allow Xhyve to basically run on bare metal.

The Xhyve approach just appeared to perhaps be easier in my initial review of possible directions.

lonnietc commented 2 years ago

Hello,

After a long time away due to covid-19 related matters, I am now trying to get back on top of things with my virtualization project.

Originally the goal was to port the latest bhyve to Linux and then to a new type of OS and kernel that is being developed but maybe porting to Linux was really not needed.

Now I am interested to know if Xhyve is reasonably up to date with the latest Bhyve features as well as to try and find out what system calls that the "Hypervisor.Framework" needed.

I am figuring that just maybe I can create a type of Hypervisor.Framework layer to my new kernel (not Linux and more of a Hypervisor kernel) that sends back the needed information needed by Xvisor.

Any thoughts would be greatly appreciated.