qemu-init

A virtual machine manager to make life with qemu more comfortable

User Tools

Site Tools



Discrepancies of the definitions and conventions below will may be work, but are not supported!

Definitions & Conventions

qemu-init is designed with the following basics (requirements):

  1. All files which belongs to one dedicated virtual machine have to be in the same folder. It is possible to have multiple virtual machine in the same folder.
  2. The unique identifier <name> have to be unique for ALL registered machines. Recommendation: use alphabetical characters only!
  3. Using a bridged network - thus a bridge device must exists (default: br0).

For the virtual machines itself qemu-init is designed

  1. to run vm's in daemon mode (headless) with vnc enabled by default
  2. to access the monitor via unix sockets

Dependencies

qemu-init is designed to have less dependencies as possible. Most of the dependencies are trivial and should be fulfilled by default, but there may be exceptions:

  • iptools: the  ip  command is required for bridged networking
  • socat: connect to the qemu monitor via unix sockets (default)
  • bash1): must be installed and executable through the path environment variable
  • sudo: required for dedicated privilege escalation
  • a working qemu installation (include required kernel modules)

As the last three should be trivial, the iptools package is may be a challenging dependency (especially at *BSD). However, for advanced functionality it is required to have available:

  • vncviewer2): establish (local) vnc connections (have to be command line compatible with the tigervnc client)

Terms

Through the documentation we use some terms:

  • host is the machine where the virtual machines are running (hosted).
  • guest corresponds to the virtual machines which are running at host

Directory names

We use special terms for directory names, because the real locations differs depending on the used layout at build time. The term vardir (or VARDIR) refers to the var directory (for “variable” data). On Linux systems this is usually “/var”, perhaps with a suffix for a sub directory like “/var/qemud”. Similar terms are etcdir, libdir, rundir and others (see directories).

User and Group names

qemu-init requires one dedicated user and group (each). As this is configurable at build time we refer to it with the terms SYSUSR and SYSGRP.

root

The terms root user or root privileges refers to the user with uid 0 always.

Unique Identifier

Each virtual machine MUST have a unique identifier. The term <name> (with angle brackets) will be used as synonym of the unique identifier. The <name> is used to define which files belongs to one dedicated virtual machine. The <name> MUST

  • contain letters and numbers only - it MUST NOT contain a dot or minus sign!
  • NOT be longer than 40 chars
  • NOT end with the number '0'
  • be lower case unique for all registered guests

Recommended “best practice”: Use “<name>” as hostname (short, w/o domain) of the guest and as well as parameter of the qemu option  -name  (default)!

File names

These abbreviations are used for some files further (see here):

  • rc-file refers to the file  <name>-qemud.rc , default configuration file (required).
  • cfg-file refers to the file  <name>-qemu.cfg , the file for extended qemu user configuration (optional).

Attention!   qemu-init is the project name, qemud-init is a library!

1)
have not to be the users default shell
2)
MUST BE called 'vncviewer' !