boot2podman / machine

Apache License 2.0
120 stars 16 forks source link

Brew support #5

Closed garethahealy closed 4 years ago

garethahealy commented 5 years ago

I've created a brew formula at:

Currently, its provided as a tap as to be part of core the machine repo needs: * GitHub repository not notable enough (<30 forks, <30 watchers and <75 stars)

Happy to contribute repo to be under boot2podman if you want.

afbjorklund commented 5 years ago

Thank you for adding this packaging! I'm not sure if we should add packages to the boot2podman project, since that actually makes distributions less likely to add packages. So we can leave it there, and add a link.

Also reminds me that we need to improve how releases are tagged and built, especially from archives. That version command probably says dev (6b8c8ad), which isn't entirelly accurate (should be v0.14)

Hopefully it worked OK ?

Looking for someone to help out with testing a "native virtualization" Mac driver (Hypervisor.framework) Apparently some people are not "allowed" to use VirtualBox, and brew qemu doesn't include hvf support

./configure --enable-hvf

garethahealy commented 5 years ago

Yes, worked fine. And yes, i noticed the version "problem".

Keeping the code in my repo is fine. If you can, it would be helpful to raise PRs to update the version when you do a new release just incase i miss one.

Yes, happy to help with HVF. My laptop says it supports it.

MacBook-Pro:Formula garethhealy$ sysctl kern.hv_support
kern.hv_support: 1
afbjorklund commented 5 years ago

New release should support Qemu 3.0+ (tested with 3.1.0), if you want to build it with HVF support.

I used this line ./configure --prefix=/opt/qemu --target-list=x86_64-softmmu,x86_64-linux-user --enable-kvm --enable-system, maybe you can do something similar but with --enable-hvf instead ?

https://www.qemu.org/download/#source

jwhonce commented 4 years ago

@garethahealy FYI we now have a cask for podman-remote which we update on each release.

brew cask install podman

perfectayush commented 4 years ago

@afbjorklund I am able to run, qemu on mac with --accel hvf. I created a shell script to exec qemu_script.sh as follows:

#!/usr/bin/env bash

exec qemu-system-x86_64 $QEMU_ACCEL_OPTS $@

And created a new podman machine using:

$ podman-machine create test2 -d qemu --qemu-program 'qemu_script.sh'

Starting machine with --accel hvf:

$ time QEMU_ACCEL_OPTS="--accel hvf"  podman-machine start test2
Starting "test2"...
(test2) Waiting for VM to start (ssh -p 56413 tc@localhost)...
Machine "test2" was started.
Waiting for SSH to be available...
Detecting the provisioner...
Started machines may have new IP addresses. You may need to re-run the `podman-machine env` command.
QEMU_ACCEL_OPTS="--accel hvf" podman-machine start test2  0.04s user 0.03s system 0% cpu 37.693 total

$ time QEMU_ACCEL_OPTS="--accel hvf"  podman-machine stop test2
Stopping "test2"...
Machine "test2" was stopped.
QEMU_ACCEL_OPTS="--accel hvf" podman-machine stop test2  0.01s user 0.01s system 0% cpu 6.033 total

Starting machine without any accelerator:

$ time  podman-machine start test2
Starting "test2"...
(test2) Waiting for VM to start (ssh -p 56413 tc@localhost)...
Machine "test2" was started.
Waiting for SSH to be available...
Detecting the provisioner...
Error running SSH command: ssh command error:
command : sudo test -S /run/podman/io.podman
err     : exit status 1
output  :
Started machines may have new IP addresses. You may need to re-run the `podman-machine env` command.
podman-machine start test2  0.06s user 0.05s system 0% cpu 6:50.40 total

$ time  podman-machine stop test2
Stopping "test2"...
Machine "test2" was stopped.
podman-machine stop test2  0.01s user 0.01s system 0% cpu 9.041 total

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