3 ms·
I wonder how this compares to xhyve, which I use on Intel Mac. It's nice to see something like it for ARM. It appears xhyve is built on Hypervisor.framework wh
by jacobvosmaer 6y ago
I wonder how this compares to xhyve, which I use on Intel Mac. It's nice to see something like it for ARM.
It appears xhyve is built on Hypervisor.framework while vftool is built on Virtualization.framework. Is that the main difference? What does that mean?
- jacobvosmaer 6y agohttps://developer.apple.com/documentation/virtualization?language=objc https://developer.apple.com/documentation/virtualization?lan... https://developer.apple.com/documentation/hypervisor?language=objc https://developer.apple.com/documentation/hypervisor?languag... Looks like Virtualization.framework is newer (Big Sur only) and uses Objective C classes rather than C functions. I know from the xhyve README that it contains code responsible for booting a Linux kernel, which suggests Hypervisor.framework does not take care of that for you. The Virtualization.framework API on the other hand takes a linux kernel + ramdisk as its inputs. So it sounds like the framework vftool is built on is more high-level than that of xhyve, and like vftool is Linux-only.
- johncolanduoni 6y agoYeah, Hypervisor.framework is an analogue of KVM (i.e. just manual VM contexts, the caller needs to handle exits to provide virtual hardware). Virtualization.framework is closer to something like QEMU in library form.
- wiredfool 6y agoI’m using xhyve as well, but I’m having trouble getting it to boot newer kernels. 4.4 era works, (16.04) but 18.04 and 20.04 have various failures. I note that docker is built on xhyve and doesn’t seem to have this issue. So it’s not fundamental, but the fix hasn’t made it back to thx mostly abandoned xhyve.
- jacobvosmaer 6y agoUbuntu 18.04 (Linux 4.15) in xhyve works fine for me. I tried to get 20.04 set up a while ago but I gave up because its installer kept flaking out on me, something about the disk if I remember correctly.
- jacobvosmaer 6y agoThanks to another commenter I found https://github.com/evansm7/vftool/issues/2#issuecomment-735455161 https://github.com/evansm7/vftool/issues/2#issuecomment-7354... which is exactly what I needed for Ubuntu 20.04: the idea to use cloud images which bypasses the silly installer.
- em500 6y agoIf you just want to run a recent Ubuntu VM, you can use https://multipass.run/ https://multipass.run/ from Canonical. (It uses hyperkit rather than xhyve as the hypervisor.)
- wiredfool 6y agoI finally wound up with multi pass, but on the Mac it’s limited to ubuntu images, and I occasionally need to spin up arbitrary distros for testing things.
- em500 6y agoDocker is using hyperkit [1], an xhyve fork that's still actively developed. [1] https://github.com/moby/hyperkit https://github.com/moby/hyperkit