OpenBSD Journal

vmm(4) userland bits vmd(8), vmmctl(8) hit -current

Contributed by pitrh on from the we put a computer in your computer dept.

The long-anticipated native OpenBSD amd64 and i386 hypervisor vmm(4) has been committed, with userland tools, to the public CVS repository. If you've been following source changes closely, you probably noticed the series of commits like this one from Mike Larkin (mlarkin@), supplemented with one by Reyk Floeter (reyk@). In an announcement and overview sent to tech@, Mike writes:

An early rough cut of the vmm subsystem is now in the tree. This includes both the kernel parts and userland parts.

There are still lots of things that need to be fixed and improved. For this reason, it is still disabled by default.

But there is enough there for people to start playing with running OpenBSD VMs.

To get this in the tree faster, I temporarily removed some code that had rotted in my tree (SVM, i386, shadow paging, etc). I still have the last versions of those pieces, and they will get merged back in due time once I have the time to merge the changes back in and re-test.

As we don't presently emulate a BIOS, the bootloader and kernel loading is built into vmd(8). Presently, vmd(8) knows about OpenBSD kernels, nothing more. It should be a fairly simple effort to add support for other ELF kernel types (I did NetBSD one night in an hour as a one-off experiment).

I'm not going to explain all the how-tos at this point. This is because vmmctl is going to have a pretty significant change coming in shortly, and anything I would write here on "how to use it" is just going to end up changing anyway. If you want to get started now, you can read the man page.

As this is a very early version of the subsystem, you can and should expect breakage. There are many things left on my list that need to get cleaned up before I'd consider enabling things by default.

This code should appear in snapshots in short order (while editing this story we already see other developers joining the party with further commits) and may very well be available by the time you read this. The operating system you can trust now comes with its very own hypervisor, and you can start preparing for all-OpenBSD virtualization.

(Comments are closed)


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]