# vms

A collection of `bash` scripts for running `qemu` virtual machines

## Requirements

To use vnc a `vncviewer` such as `tigervnc` from `extra` is required.

## Description

Simple `bash` scripts for easy creation and managing `qemu` virtual
machines. The whole system is to be used as a helper to generate the
`qemu` command line using a single configuration file for each user of
the system `~/.vms/vms.conf`.

A command line utility is provided, `vms` that can be used to create
and manage virtual machines. The user edits his `~/.vms/vms.conf` file
to add more options, such as more devices or raw `qemu` command line
options. The `vms` utility can also be used to list, start, stop, kill
the configured virtual machines and provides access to vnc, serial and
`qemu` monitor consoles.

It has minimal dependencies, `bash` and `qemu` are needed for most of
the functionality. `vms stop` uses `socat`, `vms monitor` uses
`unixterm` from the `vde2` package, `vms serial` uses `minicom` and
`vms vnc` needs `vncviewer`.

An init script `rc.vms` is also provided with a simple mechanism for
the administrator to enable booting any user's virtual machine on boot
by editing `rc.vms.conf`.

As a bonus two scripts are provided, `pci-stub-bind` and `vfio-bind`
to ease the pain when using pci passthrough.
