Posted by gpi 11 hours ago
This is a big deal for local development imho. With the raw single-thread performance of the M4/M5 chips, an openbsd guest is arguably the best environment for testing pf configurations or running isolated mail servers (for example). Being able to rely on viogpu without the black-screen-of-death means we can slowly move away from serial console-only installs for quick VMs.
Big kudos to Helg and Stefan!
A unikernel would probably be even better? (But then you need a mail server that's set up for running as a unikernel, without an underlying OS.)
It started in 7.3 with the frame buffer changes and the only workaround was to disable the kernel driver.
Maybe more people will get to try out OpenBSD successfully now.
The new Tahoe framework you're probably thinking of is Containerization, which is a WSL2-esque wrapper around Virtualization.framework allowing for easy installation of Linux containers.
* hypervisor-framework handles the hypervisor bits, like creating virtual machines, virtualising hardware resources, basically a C API on top of Apple's hypervisor
* virtualization-framework is a higher-level API, meant to make it easy to run a full-blown VM with an OS and hardware integration, without having to reinvent the integration with lower-level primitives that hypervisor-framework provides
* containerization-framework uses virtualization-framework to run Linux containers on macOS in microVMs.
By analogy to not mix them up, it's a bit like KVM > QEMU > containerd.
Hope this helps!
Tested VMs on what? For VMs are used daily and there are, what, hundreds of millions of VMs running as we speak? Billions?
You can look up which top tier schools use it for OS classes.
Traditionally BSD has booted very differently than Linux, because Linus adopted the same boot process as MINIX when he first developed it (since he was actually using the MINIX boot blocks at first).
BSD has historically used a bootstrap that understands V7FS/FFS and can load a kernel from a path on it. MINIX takes the actual kernel and RAM disk images as parameters so it doesn’t need to know about filesystems, and that tradition continued with Linux bootstraps once it was standalone.
connect -r
map -r
fs0:
bootaa64.efi
boot bin.rd
Then you'll be in the OpenBSD installer, having booted an OpenBSD kernel.You can grab the files from: https://ftp.openbsd.org/pub/OpenBSD/snapshots/arm64/
Actually installing the system is left as an exercise for the reader.