boot2podman / machine

Apache License 2.0
120 stars 16 forks source link

Hypervisor.framework driver : xhyve #10

Open ghost opened 5 years ago

ghost commented 5 years ago

Hello, For Mac and to have a more native and powerful solution, Xhyve can be great Regards

afbjorklund commented 5 years ago

I wanted someone else (Mac user) to do it, but have found I could use xgo to build. Agree that it (and hyperv for the Dark Side) would be nice

otaviof commented 5 years ago

@afbjorklund, @colundrum would be great to have Mac support, as a Mac user I volunteer to help on this task. I've tried to setup a docker-machine based VM to achieve that, but it's far from trivial and I'm not finished over there. So, would be great to centralized this effort here. :-)

afbjorklund commented 5 years ago

Both virtualbox and qemu are supposed to work on a Mac, this is about having a better driver.

afbjorklund commented 5 years ago

@otaviof not sure what your issues with docker-machine were, but some are inherited by podman-machine (since it is more or less the exact same code, even though the ISO image is different...)

otaviof commented 5 years ago

@afbjorklund I mean, aside of VirtualBox support, I would love to have xhyve based VM.

tonyjames commented 4 years ago

QEMU has support for the Hypervisor framework on macOS. I've had success using podman-machine on macOS with QEMU installed from homebrew [1].

I replace qemu-system-x86_64 in my $PATH with a bash script that adds "-accel hvf -cpu host" to the qemu command line. Seems to be working quite well.

[1] https://formulae.brew.sh/formula/qemu

chadbrewbaker commented 4 years ago

Bump. Virtualbox is dead in the water for Apple arm64 according to Oracle. If anyone wants to help port xhyve to arm64 the thread is here https://github.com/machyve/xhyve/issues/206. IBM could beat Docker to Apple M1 support with Podman - this should be a huge priority.

afbjorklund commented 4 years ago

IBM could beat Docker to Apple M1 support with Podman - this should be a huge priority.

Sorry but the boot2podman project (and boot2docker) share that same unsupported state...

https://boot2podman.github.io/2020/11/03/boot2podman-project.html

Podman only runs remotely now, there is no Podman that works "locally" on Mac or Windows.

Red Hat has not been able to support such a project, neither "Toolbox" (i.e. this) nor "Desktop"

https://boot2podman.github.io/2018/12/04/introducing-podman-machine.html

If you want to discuss this, I suggest: https://podman.io/community/meeting/


The included QEMU driver should work with Hypervisor.framework, unless too much changed:

https://github.com/boot2podman/machine/issues/5#issuecomment-548442359

On Linux we use -accel kvm, on the Mac it is -accel hvf and on Win it is -accel hax

Running with --accel hvf takes about 40s to start the machine compared to almost 7 minutes taken without any accelerator.

Otherwise the recommendation is to use some other means to set up the Linux VM.

For instance by using Vagrant, which should have provisioners for e.g. Parallels ?

https://boot2podman.github.io/2020/07/22/machine-replacement.html

See also https://www.redhat.com/sysadmin/podman-clients-macos-windows

741g commented 4 years ago

Hi, I'm a developer on the Android Emulator, which currently uses Hypervisor.framework in a fork fo QEMU for x86 Android guests.

We're looking into both Virtualization.framework and Hypervisor.framework, and I'm in the process of adding Hypervisor.framework support here: https://android-review.googlesource.com/c/platform/external/qemu/+/1510245

which is loosely based on the KVM kernel code (https://elixir.bootlin.com/linux/v4.6/source/arch/arm64/kvm/handle_exit.c). So that's the implementation strategy.

As I'm implementing this while also learning the ARM64 ISA as I go along, help is appreciated :)